[gtk+/wip/otte/queue-resize: 18/31] sizegroup: Don't invalidate over resize containers.
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/otte/queue-resize: 18/31] sizegroup: Don't invalidate over resize containers.
- Date: Tue, 29 Sep 2015 21:23:17 +0000 (UTC)
commit 552533ec768e4323e99f312e867b540ba07727f6
Author: Benjamin Otte <otte redhat com>
Date: Wed Sep 16 22:56:56 2015 +0200
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).
gtk/gtksizegroup.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtksizegroup.c b/gtk/gtksizegroup.c
index d6276a9..ef29358 100644
--- a/gtk/gtksizegroup.c
+++ b/gtk/gtksizegroup.c
@@ -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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]