sizegroup: Don't invalidate over resize containers.

Before this commit, a widget tree like this:
  Window
    AnyContainer (part of SizeGroup1)
      GtkClutterEmbed
        SomeWidget
when calling gtk_widget_queue_resize(SomeWidget), would invalidate
SizeGroup1, when it should have stopped at the GtkClutterEmbed (which is
a RESIZE_IMMEDIATE child).
This commit is contained in:
Benjamin Otte 2015-09-16 22:56:56 +02:00
parent 1f2e21ab9a
commit 85ab8ad001

View File

@ -237,7 +237,7 @@ queue_resize_on_widget (GtkWidget *widget,
parent = widget;
while (parent)
do
{
if (widget == parent)
real_queue_resize (widget);
@ -271,8 +271,14 @@ queue_resize_on_widget (GtkWidget *widget,
}
}
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
if (GTK_IS_RESIZE_CONTAINER (parent))
break;
G_GNUC_END_IGNORE_DEPRECATIONS;
parent = _gtk_widget_get_parent (parent);
}
while (parent);
g_hash_table_destroy (widgets);
g_hash_table_destroy (groups);