diff options
author | Ted Gould <ted@gould.cx> | 2011-01-18 10:34:22 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-01-18 10:34:22 -0600 |
commit | 4c8f8ca605bb7e2780c089c42ca58e8c0c7aa7dd (patch) | |
tree | f161072f4af6f9fe2db6cf863a4a43a303ce986e | |
parent | 31d28c2b7f818749973aa528fca53632a129f83d (diff) | |
download | libdbusmenu-4c8f8ca605bb7e2780c089c42ca58e8c0c7aa7dd.tar.gz libdbusmenu-4c8f8ca605bb7e2780c089c42ca58e8c0c7aa7dd.tar.bz2 libdbusmenu-4c8f8ca605bb7e2780c089c42ca58e8c0c7aa7dd.zip |
Protecting the final tuple from errors.
-rw-r--r-- | libdbusmenu-glib/server.c | 11 |
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); |