]> Pileus Git - ~andy/gtk/commitdiff
Warn on duplicate action group names. (#501746, Christian Persch)
authorMatthias Clasen <mclasen@redhat.com>
Sat, 16 Feb 2008 03:43:38 +0000 (03:43 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sat, 16 Feb 2008 03:43:38 +0000 (03:43 +0000)
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

ChangeLog
gtk/gtkuimanager.c

index c7e5d12fd097a19b25c9b09f942178eff5bc996a..eaeb429ea97ad039b086a39bee43f1df661bd120 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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)
+
 2008-02-15  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/Makefile.am:
index fa95be115155528b5ac7e662f321eec607b72385..1db9e9bfe719910c3697628f8f9fd8124d50fc26 100644 (file)
@@ -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);