diff --git a/ChangeLog b/ChangeLog index f909599722..c643fc778b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Tue Apr 9 18:34:58 2002 Owen Taylor + + * gtk/gtkcontainer.c (_gtk_container_queue_resize): Always + set the ALLOC_NEEDED and REQUEST_NEEDED flags up the hierarchy, + even if we aren't currently in a resize container... we need + this to properly handle size changes to widgets that are + being moved from one heirarchy to another. (#78226) + Tue Apr 9 21:41:24 2002 Kristian Rietveld Fixes #78110 diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index f909599722..c643fc778b 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Tue Apr 9 18:34:58 2002 Owen Taylor + + * gtk/gtkcontainer.c (_gtk_container_queue_resize): Always + set the ALLOC_NEEDED and REQUEST_NEEDED flags up the hierarchy, + even if we aren't currently in a resize container... we need + this to properly handle size changes to widgets that are + being moved from one heirarchy to another. (#78226) + Tue Apr 9 21:41:24 2002 Kristian Rietveld Fixes #78110 diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index f909599722..c643fc778b 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Tue Apr 9 18:34:58 2002 Owen Taylor + + * gtk/gtkcontainer.c (_gtk_container_queue_resize): Always + set the ALLOC_NEEDED and REQUEST_NEEDED flags up the hierarchy, + even if we aren't currently in a resize container... we need + this to properly handle size changes to widgets that are + being moved from one heirarchy to another. (#78226) + Tue Apr 9 21:41:24 2002 Kristian Rietveld Fixes #78110 diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index f909599722..c643fc778b 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Tue Apr 9 18:34:58 2002 Owen Taylor + + * gtk/gtkcontainer.c (_gtk_container_queue_resize): Always + set the ALLOC_NEEDED and REQUEST_NEEDED flags up the hierarchy, + even if we aren't currently in a resize container... we need + this to properly handle size changes to widgets that are + being moved from one heirarchy to another. (#78226) + Tue Apr 9 21:41:24 2002 Kristian Rietveld Fixes #78110 diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index f909599722..c643fc778b 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Tue Apr 9 18:34:58 2002 Owen Taylor + + * gtk/gtkcontainer.c (_gtk_container_queue_resize): Always + set the ALLOC_NEEDED and REQUEST_NEEDED flags up the hierarchy, + even if we aren't currently in a resize container... we need + this to properly handle size changes to widgets that are + being moved from one heirarchy to another. (#78226) + Tue Apr 9 21:41:24 2002 Kristian Rietveld Fixes #78110 diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index f909599722..c643fc778b 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Tue Apr 9 18:34:58 2002 Owen Taylor + + * gtk/gtkcontainer.c (_gtk_container_queue_resize): Always + set the ALLOC_NEEDED and REQUEST_NEEDED flags up the hierarchy, + even if we aren't currently in a resize container... we need + this to properly handle size changes to widgets that are + being moved from one heirarchy to another. (#78226) + Tue Apr 9 21:41:24 2002 Kristian Rietveld Fixes #78110 diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index bef2491cbb..f35ab73254 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -1012,25 +1012,26 @@ void _gtk_container_queue_resize (GtkContainer *container) { GtkContainer *resize_container; + GtkWidget *widget; g_return_if_fail (GTK_IS_CONTAINER (container)); + widget = GTK_WIDGET (container); resize_container = gtk_container_get_resize_container (container); + while (!GTK_WIDGET_ALLOC_NEEDED (widget) || !GTK_WIDGET_REQUEST_NEEDED (widget)) + { + GTK_PRIVATE_SET_FLAG (widget, GTK_ALLOC_NEEDED); + GTK_PRIVATE_SET_FLAG (widget, GTK_REQUEST_NEEDED); + if ((resize_container && widget == GTK_WIDGET (resize_container)) || + !widget->parent) + break; + + widget = widget->parent; + } + if (resize_container) { - GtkWidget *widget = GTK_WIDGET (container); - - while (!GTK_WIDGET_ALLOC_NEEDED (widget) || !GTK_WIDGET_REQUEST_NEEDED (widget)) - { - GTK_PRIVATE_SET_FLAG (widget, GTK_ALLOC_NEEDED); - GTK_PRIVATE_SET_FLAG (widget, GTK_REQUEST_NEEDED); - if (widget == GTK_WIDGET (resize_container)) - break; - - widget = widget->parent; - } - if (GTK_WIDGET_VISIBLE (resize_container) && (GTK_WIDGET_TOPLEVEL (resize_container) || GTK_WIDGET_REALIZED (resize_container))) {