summaryrefslogtreecommitdiff
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
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
-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",