forked from AuroraMiddleware/gtk
Fixed negative allocations from gtk_box_size_allocate()
Fixed the allocation loop to check if it was allocated at least enough space to hold its visible children before going and distributing extra space among children. Fixes bgo #617444.
This commit is contained in:
parent
b238c0124a
commit
1b2e9124f0
@ -517,7 +517,6 @@ gtk_box_size_allocate (GtkWidget *widget,
|
||||
*/
|
||||
|
||||
/* Sort descending by gap and position. */
|
||||
|
||||
g_qsort_with_data (spreading,
|
||||
nvis_children, sizeof (GtkBoxSpreading),
|
||||
gtk_box_compare_gap, sizes);
|
||||
@ -525,7 +524,7 @@ gtk_box_size_allocate (GtkWidget *widget,
|
||||
/* Distribute available space.
|
||||
* This master piece of a loop was conceived by Behdad Esfahbod.
|
||||
*/
|
||||
for (i = nvis_children - 1; i >= 0; --i)
|
||||
for (i = nvis_children - 1; size > 0 && i >= 0; --i)
|
||||
{
|
||||
/* Divide remaining space by number of remaining children.
|
||||
* Sort order and reducing remaining space by assigned space
|
||||
@ -1061,7 +1060,7 @@ gtk_box_compute_size_for_opposing_orientation (GtkBox *box,
|
||||
/* Distribute available space.
|
||||
* This master piece of a loop was conceived by Behdad Esfahbod.
|
||||
*/
|
||||
for (i = nvis_children - 1; i >= 0; --i)
|
||||
for (i = nvis_children - 1; size > 0 && i >= 0; --i)
|
||||
{
|
||||
/* Divide remaining space by number of remaining children.
|
||||
* Sort order and reducing remaining space by assigned space
|
||||
|
Loading…
Reference in New Issue
Block a user