diff options
author | Matthias Clasen <mclasen@redhat.com> | 2013-08-28 11:51:19 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2013-08-28 11:51:19 -0400 |
commit | 13f92834f7b6d985a0737d8886c034f1002125c7 (patch) | |
tree | c62cd2ccb9f129337818134ae2ef4cd880a02c5e | |
parent | 3c2c3ab6f9335f8e7592041ca6ce7490ede62eeb (diff) | |
download | gtk+-13f92834f7b6d985a0737d8886c034f1002125c7.tar.gz |
Fix a regression in GtkAssistant child property handling
GtkAssistant is bending the rules about child properties
of non-direct children, and the recent fix to accomodate
GtkInfoBar changes broke things. The effect was that child
properties of assistant pages in ui files were just not
applied, so all pages ended up without titles and with
the normal page type, leading to broken assistants all
over the place.
https://bugzilla.gnome.org/show_bug.cgi?id=706756
-rw-r--r-- | gtk/gtkcontainer.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index b118346ec9..84dcd84ccc 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -582,16 +582,16 @@ gtk_container_buildable_set_child_property (GtkContainer *container, GValue gvalue = G_VALUE_INIT; GError *error = NULL; - if (gtk_widget_get_parent (child) != (GtkWidget *)container) + if (gtk_widget_get_parent (child) != (GtkWidget *)container && !GTK_IS_ASSISTANT (container)) { - /* This can happen with internal children of complex - * widgets. Silently ignore the child properties in this case. + /* This can happen with internal children of complex widgets. + * Silently ignore the child properties in this case. We explicitly + * allow it for GtkAssistant, since that is how it works. */ return; } - pspec = gtk_container_class_find_child_property - (G_OBJECT_GET_CLASS (container), name); + pspec = gtk_container_class_find_child_property (G_OBJECT_GET_CLASS (container), name); if (!pspec) { g_warning ("%s does not have a property called %s", |