aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/server.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-07-19 20:42:36 -0500
committerTed Gould <ted@gould.cx>2010-07-19 20:42:36 -0500
commit68e46ae11fda7dc9e9a7eada5b105536bdf9f574 (patch)
tree2d071da09f0a8bfd60c15257166b9f7103f143d0 /libdbusmenu-glib/server.c
parent960663e01f1bb8a59e20b62892f6945868c510d3 (diff)
downloadlibdbusmenu-68e46ae11fda7dc9e9a7eada5b105536bdf9f574.tar.gz
libdbusmenu-68e46ae11fda7dc9e9a7eada5b105536bdf9f574.tar.bz2
libdbusmenu-68e46ae11fda7dc9e9a7eada5b105536bdf9f574.zip
Apparently it's a GValueArray. Feel like I'm coding freakin' Python. Guess and check.
Diffstat (limited to 'libdbusmenu-glib/server.c')
-rw-r--r--libdbusmenu-glib/server.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c
index 42fe61f..dc505a1 100644
--- a/libdbusmenu-glib/server.c
+++ b/libdbusmenu-glib/server.c
@@ -38,7 +38,7 @@ License version 3 and version 2.1 along with this program. If not, see
static gboolean _dbusmenu_server_get_layout (DbusmenuServer * server, gint parent, guint * revision, gchar ** layout, GError ** error);
static gboolean _dbusmenu_server_get_property (DbusmenuServer * server, gint id, gchar * property, gchar ** value, GError ** error);
static gboolean _dbusmenu_server_get_properties (DbusmenuServer * server, gint id, gchar ** properties, GHashTable ** dict, GError ** error);
-static gboolean _dbusmenu_server_get_group_properties (DbusmenuServer * server, GArray * ids, gchar ** properties, GPtrArray ** values, GError ** error);
+static gboolean _dbusmenu_server_get_group_properties (DbusmenuServer * server, GArray * ids, gchar ** properties, GValueArray ** values, GError ** error);
static gboolean _dbusmenu_server_event (DbusmenuServer * server, gint id, gchar * eventid, GValue * data, guint timestamp, GError ** error);
static gboolean _dbusmenu_server_get_children (DbusmenuServer * server, gint id, GPtrArray * properties, GPtrArray ** output, GError ** error);
static gboolean _dbusmenu_server_about_to_show (DbusmenuServer * server, gint id, gboolean * need_update, GError ** error);
@@ -504,10 +504,10 @@ _dbusmenu_server_get_properties (DbusmenuServer * server, gint id, gchar ** prop
/* Handles getting a bunch of properties from a variety of menu items
to make one mega dbus message */
static gboolean
-_dbusmenu_server_get_group_properties (DbusmenuServer * server, GArray * ids, gchar ** properties, GPtrArray ** values, GError ** error)
+_dbusmenu_server_get_group_properties (DbusmenuServer * server, GArray * ids, gchar ** properties, GValueArray ** values, GError ** error)
{
/* Build an initial pointer array */
- *values = g_ptr_array_new();
+ *values = g_value_array_new(ids->len);
/* Go through each ID to get that ID's properties */
int idcnt;
@@ -536,7 +536,11 @@ _dbusmenu_server_get_group_properties (DbusmenuServer * server, GArray * ids, gc
g_value_set_boxed(&propval, idprops);
g_value_array_append(valarray, &propval);
- g_ptr_array_add(*values, valarray);
+ GValue * valwrapper = g_new0(GValue, 1);
+ g_value_init(valwrapper, G_TYPE_VALUE_ARRAY);
+ g_value_set_boxed(valwrapper, valarray);
+
+ g_value_array_append(*values, valwrapper);
}
return TRUE;