aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/server.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-01-18 10:34:22 -0600
committerTed Gould <ted@gould.cx>2011-01-18 10:34:22 -0600
commit4c8f8ca605bb7e2780c089c42ca58e8c0c7aa7dd (patch)
treef161072f4af6f9fe2db6cf863a4a43a303ce986e /libdbusmenu-glib/server.c
parent31d28c2b7f818749973aa528fca53632a129f83d (diff)
downloadlibdbusmenu-4c8f8ca605bb7e2780c089c42ca58e8c0c7aa7dd.tar.gz
libdbusmenu-4c8f8ca605bb7e2780c089c42ca58e8c0c7aa7dd.tar.bz2
libdbusmenu-4c8f8ca605bb7e2780c089c42ca58e8c0c7aa7dd.zip
Protecting the final tuple from errors.
Diffstat (limited to 'libdbusmenu-glib/server.c')
-rw-r--r--libdbusmenu-glib/server.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c
index 03886bb..39176c2 100644
--- a/libdbusmenu-glib/server.c
+++ b/libdbusmenu-glib/server.c
@@ -929,9 +929,14 @@ bus_get_group_properties (DbusmenuServer * server, GVariant * params, GDBusMetho
ret = g_variant_parse(g_variant_type_new("a(ia(sv))"), "[]", NULL, NULL, NULL);
}
- g_variant_builder_init(&builder, G_VARIANT_TYPE_TUPLE);
- g_variant_builder_add_value(&builder, ret);
- GVariant * final = g_variant_builder_end(&builder);
+ GVariant * final = NULL;
+ if (ret != NULL) {
+ g_variant_builder_init(&builder, G_VARIANT_TYPE_TUPLE);
+ g_variant_builder_add_value(&builder, ret);
+ final = g_variant_builder_end(&builder);
+ } else {
+ g_warning("Error building property list, final variant is NULL");
+ }
g_dbus_method_invocation_return_value(invocation, final);