diff options
author | Benjamin Otte <otte@redhat.com> | 2012-04-09 20:28:45 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2012-04-17 08:59:21 +0200 |
commit | 8bda7442c819ab7d52ae0ec8d5eacd008525435e (patch) | |
tree | 9dbb696dc29faf47c72028d5da058d2114efcf63 /gtk/gtkcontainer.c | |
parent | e2f89c0c6a15ce880227e87e931e875c3b3e6160 (diff) | |
download | gtk+-8bda7442c819ab7d52ae0ec8d5eacd008525435e.tar.gz |
container: Simplify code
This code should not have any functional changes and just be simpler.
Diffstat (limited to 'gtk/gtkcontainer.c')
-rw-r--r-- | gtk/gtkcontainer.c | 55 |
1 files changed, 18 insertions, 37 deletions
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index e3fabe81e0..caeb2a5230 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -1623,22 +1623,6 @@ gtk_container_set_reallocate_redraws (GtkContainer *container, container->priv->reallocate_redraws = needs_redraws ? TRUE : FALSE; } -static GtkContainer* -gtk_container_get_resize_container (GtkContainer *container) -{ - GtkWidget *parent; - GtkWidget *widget = GTK_WIDGET (container); - - while ((parent = gtk_widget_get_parent (widget))) - { - widget = parent; - if (GTK_IS_RESIZE_CONTAINER (widget)) - break; - } - - return GTK_IS_RESIZE_CONTAINER (widget) ? (GtkContainer*) widget : NULL; -} - static gboolean gtk_container_idle_sizer (gpointer data) { @@ -1688,54 +1672,51 @@ static void _gtk_container_queue_resize_internal (GtkContainer *container, gboolean invalidate_only) { - GtkContainer *resize_container; - GtkWidget *parent; GtkWidget *widget; g_return_if_fail (GTK_IS_CONTAINER (container)); widget = GTK_WIDGET (container); - resize_container = gtk_container_get_resize_container (container); - - while (TRUE) + do { _gtk_widget_set_alloc_needed (widget, TRUE); _gtk_widget_set_width_request_needed (widget, TRUE); _gtk_widget_set_height_request_needed (widget, TRUE); - if ((resize_container && widget == GTK_WIDGET (resize_container)) || - !(parent = gtk_widget_get_parent (widget))) + if (GTK_IS_RESIZE_CONTAINER (widget)) break; - widget = parent; + widget = gtk_widget_get_parent (widget); } + while (widget); - if (resize_container && !invalidate_only) + if (widget && !invalidate_only) { - if (gtk_widget_get_visible (GTK_WIDGET (resize_container)) && - (gtk_widget_is_toplevel (GTK_WIDGET (resize_container)) || - gtk_widget_get_realized (GTK_WIDGET (resize_container)))) + container = GTK_CONTAINER (widget); + + if (gtk_widget_get_visible (widget) && + (gtk_widget_is_toplevel (widget) || + gtk_widget_get_realized (widget))) { - switch (resize_container->priv->resize_mode) + switch (container->priv->resize_mode) { case GTK_RESIZE_QUEUE: - if (!_gtk_widget_get_resize_pending (GTK_WIDGET (resize_container))) + if (!_gtk_widget_get_resize_pending (widget)) { - _gtk_widget_set_resize_pending (GTK_WIDGET (resize_container), TRUE); + _gtk_widget_set_resize_pending (widget, TRUE); if (container_resize_queue == NULL) gdk_threads_add_idle_full (GTK_PRIORITY_RESIZE, - gtk_container_idle_sizer, - NULL, NULL); - container_resize_queue = g_slist_prepend (container_resize_queue, resize_container); + gtk_container_idle_sizer, + NULL, NULL); + container_resize_queue = g_slist_prepend (container_resize_queue, container); } break; case GTK_RESIZE_IMMEDIATE: - _gtk_style_context_validate (gtk_widget_get_style_context (GTK_WIDGET (resize_container)), + _gtk_style_context_validate (gtk_widget_get_style_context (widget), g_get_monotonic_time (), 0); - gtk_container_check_resize (resize_container); break; case GTK_RESIZE_PARENT: @@ -1749,7 +1730,7 @@ _gtk_container_queue_resize_internal (GtkContainer *container, * changed while they where hidden (currently only evaluated by * toplevels). */ - resize_container->priv->need_resize = TRUE; + GTK_CONTAINER (widget)->priv->need_resize = TRUE; } } } |