cpu is 100%
it's hard to me to figure where the problem is.
after some debuging i found that execution is not returning from
gtk_scrolled_window_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
gtk+2.0-2.16.0/gtk/gtkscrolledwindow.c:1337
more precisely the do while loop where previous_hvis = 1 and previous_vvis = 1
│1416 do │
│1417 { │
>│1418 gtk_scrolled_window_relative_allocation (widget, &relative_allocation); │
│1419 │
│1420 child_allocation.x = relative_allocation.x + allocation->x; │
│1421 child_allocation.y = relative_allocation.y + allocation->y; │
│1422 child_allocation.width = relative_allocation.width; │
│1423 child_allocation.height = relative_allocation.height; │
│1424 │
│1425 previous_hvis = scrolled_window->hscrollbar_visible; │
│1426 previous_vvis = scrolled_window->vscrollbar_visible; │
│1427 │
│1428 gtk_widget_size_allocate (bin->child, &child_allocation); │
│1429 │
│1430 /* If, after the first iteration, the hscrollbar and the │
│1431 * vscrollbar flip visiblity, then we need both. │
│1432 */ │
│1433 if (count && │
│1434 previous_hvis != scrolled_window->hscrollbar_visible && │
│1435 previous_vvis != scrolled_window->vscrollbar_visible) │
│1436 { │
│1437 scrolled_window->hscrollbar_visible = TRUE; │
│1438 scrolled_window->vscrollbar_visible = TRUE; │
│1439 │
│1440 /* a new resize is already queued at this point, │
│1441 * so we will immediatedly get reinvoked │
│1442 */ │
│1443 return; │
│1444 } │
│1445 │
│1446 count++; │
│1447 } │
│1448 while (previous_hvis != scrolled_window->hscrollbar_visible || │
│1449 previous_vvis != scrolled_window->vscrollbar_visible);
cpu is 100%
it's hard to me to figure where the problem is.
after some debuging i found that execution is not returning from window_ size_allocate (GtkWidget *widget, GtkAllocation *allocation) 2.16.0/ gtk/gtkscrolled window. c:1337
gtk_scrolled_
gtk+2.0-
more precisely the do while loop where previous_hvis = 1 and previous_vvis = 1
│1416 do │ window_ relative_ allocation (widget, &relative_ allocation) ; │ allocation. x + allocation->x; │ allocation. y + allocation->y; │ n.width = relative_ allocation. width; │ n.height = relative_ allocation. height; │ window- >hscrollbar_ visible; │ window- >vscrollbar_ visible; │ size_allocate (bin->child, &child_allocation); │ window- >hscrollbar_ visible && │ window- >vscrollbar_ visible) │ window- >hscrollbar_ visible = TRUE; │ window- >vscrollbar_ visible = TRUE; │ window- >hscrollbar_ visible || │ window- >vscrollbar_ visible) ;
│1417 { │
>│1418 gtk_scrolled_
│1419 │
│1420 child_allocation.x = relative_
│1421 child_allocation.y = relative_
│1422 child_allocatio
│1423 child_allocatio
│1424 │
│1425 previous_hvis = scrolled_
│1426 previous_vvis = scrolled_
│1427 │
│1428 gtk_widget_
│1429 │
│1430 /* If, after the first iteration, the hscrollbar and the │
│1431 * vscrollbar flip visiblity, then we need both. │
│1432 */ │
│1433 if (count && │
│1434 previous_hvis != scrolled_
│1435 previous_vvis != scrolled_
│1436 { │
│1437 scrolled_
│1438 scrolled_
│1439 │
│1440 /* a new resize is already queued at this point, │
│1441 * so we will immediatedly get reinvoked │
│1442 */ │
│1443 return; │
│1444 } │
│1445 │
│1446 count++; │
│1447 } │
│1448 while (previous_hvis != scrolled_
│1449 previous_vvis != scrolled_