]> Pileus Git - ~andy/gtk/commitdiff
gactionmuxer: Fix list_actions
authorJasper St. Pierre <jstpierre@mecheye.net>
Fri, 30 Mar 2012 18:05:46 +0000 (14:05 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Fri, 30 Mar 2012 19:21:06 +0000 (15:21 -0400)
The code there before was just completely wrong

https://bugzilla.gnome.org/show_bug.cgi?id=673200

gtk/gactionmuxer.c

index 5baed32fee615813118c913210e95ccda8556401..22990a40e31f096684bd8183f0e1c555e1a5ccac 100644 (file)
@@ -90,8 +90,20 @@ static gchar **
 g_action_muxer_list_actions (GActionGroup *action_group)
 {
   GActionMuxer *muxer = G_ACTION_MUXER (action_group);
+  GHashTableIter iter;
+  gchar *key;
+  gchar **keys;
+  gsize i;
 
-  return (gchar **) muxer->groups;
+  keys = g_new (gchar *, g_hash_table_size (muxer->actions) + 1);
+
+  i = 0;
+  g_hash_table_iter_init (&iter, muxer->actions);
+  while (g_hash_table_iter_next (&iter, (gpointer *) &key, NULL))
+    keys[i++] = g_strdup (key);
+  keys[i] = NULL;
+
+  return keys;
 }
 
 static Group *