summaryrefslogtreecommitdiff
path: root/gtk/gtkcontainer.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2013-08-28 11:51:19 -0400
committerMatthias Clasen <mclasen@redhat.com>2013-08-28 11:51:19 -0400
commit13f92834f7b6d985a0737d8886c034f1002125c7 (patch)
treec62cd2ccb9f129337818134ae2ef4cd880a02c5e /gtk/gtkcontainer.c
parent3c2c3ab6f9335f8e7592041ca6ce7490ede62eeb (diff)
downloadgtk+-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
Diffstat (limited to 'gtk/gtkcontainer.c')
-rw-r--r--gtk/gtkcontainer.c10
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",