From 85ccb93b9f618828bbdf511a31912f0c69b6bb72 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 21 Apr 2013 20:41:22 -0400 Subject: [PATCH] GtkStack: warn if child names are not unique --- gtk/gtkstack.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c index c6b5953455..6ca1fbb675 100644 --- a/gtk/gtkstack.c +++ b/gtk/gtkstack.c @@ -568,6 +568,9 @@ gtk_stack_set_child_property (GtkContainer *container, GtkStack *stack = GTK_STACK (container); GtkStackPrivate *priv = stack->priv; GtkStackChildInfo *info; + GtkStackChildInfo *info2; + gchar *name; + GList *l; info = find_child_info_for_widget (stack, child); if (info == NULL) @@ -579,8 +582,19 @@ gtk_stack_set_child_property (GtkContainer *container, switch (property_id) { case CHILD_PROP_NAME: + name = g_value_dup_string (value); + for (l = priv->children; l != NULL; l = l->next) + { + info2 = l->data; + if (g_strcmp0 (info2->name, name) == 0) + { + g_warning ("Duplicate child name in GtkStack: %s\n", name); + break; + } + } + g_free (info->name); - info->name = g_value_dup_string (value); + info->name = name; gtk_container_child_notify (container, child, "name");