[gnome-shell] gactionmuxer: Fix list_actions



commit a36de92bb9a18e889dc50a680302f1124e8e9da1
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Fri Mar 30 12:19:13 2012 -0400

    gactionmuxer: Fix list_actions
    
    The code there before was just completely wrong
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673177

 src/gactionmuxer.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)
---
diff --git a/src/gactionmuxer.c b/src/gactionmuxer.c
index 7b49a38..d838306 100644
--- a/src/gactionmuxer.c
+++ b/src/gactionmuxer.c
@@ -94,8 +94,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 *



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]