summaryrefslogtreecommitdiff
path: root/gtk/gtkuimanager.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2008-02-16 03:43:38 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2008-02-16 03:43:38 +0000
commit34418c4e8eeae411fa2f38f41d48ae5f53c88445 (patch)
tree3c474be8abf58a6061b64c802f19b7152e461ac3 /gtk/gtkuimanager.c
parentca36ffc2afdac582d19467182ad863ada5cd0b68 (diff)
downloadgtk+-34418c4e8eeae411fa2f38f41d48ae5f53c88445.tar.gz
Warn on duplicate action group names. (#501746, Christian Persch)
2008-02-15 Matthias Clasen <mclasen@redhat.com> * gtk/gtkuimanager.c (gtk_ui_manager_insert_action_group): Warn on duplicate action group names. (#501746, Christian Persch) svn path=/trunk/; revision=19592
Diffstat (limited to 'gtk/gtkuimanager.c')
-rw-r--r--gtk/gtkuimanager.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c
index fa95be1151..1db9e9bfe7 100644
--- a/gtk/gtkuimanager.c
+++ b/gtk/gtkuimanager.c
@@ -696,11 +696,32 @@ gtk_ui_manager_insert_action_group (GtkUIManager *self,
GtkActionGroup *action_group,
gint pos)
{
+#ifdef G_ENABLE_DEBUG
+ GList *l;
+ const char *group_name;
+#endif
+
g_return_if_fail (GTK_IS_UI_MANAGER (self));
g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
g_return_if_fail (g_list_find (self->private_data->action_groups,
action_group) == NULL);
+#ifdef G_ENABLE_DEBUG
+ group_name = gtk_action_group_get_name (action_group);
+
+ for (l = self->private_data->action_groups; l; l = l->next)
+ {
+ GtkActionGroup *group = l->data;
+
+ if (strcmp (gtk_action_group_get_name (group), group_name) == 0)
+ {
+ g_warning ("Inserting action group '%s' into UI manager which "
+ "already has a group with this name\n", group_name);
+ break;
+ }
+ }
+#endif /* G_ENABLE_DEBUG */
+
g_object_ref (action_group);
self->private_data->action_groups =
g_list_insert (self->private_data->action_groups, action_group, pos);