diff options
Diffstat (limited to 'gtk/gtkbox.c')
-rw-r--r-- | gtk/gtkbox.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c index f97a80d583..b711a52aa5 100644 --- a/gtk/gtkbox.c +++ b/gtk/gtkbox.c @@ -1612,10 +1612,12 @@ gtk_box_reorder_child (GtkBox *box, priv->children = g_list_insert_before (priv->children, new_link, child_info); gtk_widget_child_notify (child, "position"); + + gtk_box_invalidate_order (box); + if (gtk_widget_get_visible (child) && gtk_widget_get_visible (GTK_WIDGET (box))) { - gtk_box_invalidate_order (box); gtk_widget_queue_resize (child); } } @@ -1799,12 +1801,13 @@ gtk_box_remove (GtkContainer *container, g_list_free (children); g_free (child); + gtk_box_invalidate_order (box); + /* queue resize regardless of gtk_widget_get_visible (container), * since that's what is needed by toplevels. */ if (was_visible) { - gtk_box_invalidate_order (box); gtk_widget_queue_resize (GTK_WIDGET (container)); } |