ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #02772
[Merge] lp:~ted/libindicate/tuples-sucks into lp:libindicate
Ted Gould has proposed merging lp:~ted/libindicate/tuples-sucks into lp:libindicate.
Requested reviews:
Indicator Applet Developers (indicator-applet-developers)
For more details, see:
https://code.launchpad.net/~ted/libindicate/tuples-sucks/+merge/46361
Fixing more crashers in libindicate
--
https://code.launchpad.net/~ted/libindicate/tuples-sucks/+merge/46361
Your team ayatana-commits is subscribed to branch lp:libindicate.
=== modified file 'libindicate/server.c'
--- libindicate/server.c 2011-01-13 22:49:19 +0000
+++ libindicate/server.c 2011-01-14 23:14:53 +0000
@@ -1733,15 +1733,20 @@
g_dbus_method_invocation_return_gerror(invocation, error);
g_error_free(error);
} else {
- GVariantBuilder builder;
- g_variant_builder_init(&builder, G_VARIANT_TYPE_ARRAY);
-
- int i;
- for (i = 0; array != NULL && i < array->len; i++) {
- g_variant_builder_add_value(&builder, g_variant_new_int32(g_array_index(array, gint, i)));
+ GVariant * retval = NULL;
+ if (array->len != 0) {
+ GVariantBuilder builder;
+ g_variant_builder_init(&builder, G_VARIANT_TYPE_ARRAY);
+
+ int i;
+ for (i = 0; array != NULL && i < array->len; i++) {
+ g_variant_builder_add_value(&builder, g_variant_new_int32(g_array_index(array, gint, i)));
+ }
+
+ retval = g_variant_builder_end(&builder);
+ } else {
+ retval = g_variant_parse(g_variant_type_new("ai"), "[]", NULL, NULL, NULL);
}
-
- GVariant * retval = g_variant_builder_end(&builder);
g_dbus_method_invocation_return_value(invocation, g_variant_new_tuple(&retval, 1));
g_array_free(array, TRUE);
@@ -1808,7 +1813,10 @@
g_dbus_method_invocation_return_gerror(invocation, error);
g_error_free(error);
} else {
- g_dbus_method_invocation_return_value(invocation, g_variant_new_tuple(&output, 1));
+ if (output != NULL) {
+ output = g_variant_new_tuple(&output, 1);
+ }
+ g_dbus_method_invocation_return_value(invocation, output);
}
return;
@@ -1839,7 +1847,10 @@
g_error_free(error);
} else {
GVariant * retvals = g_variant_new_strv((const gchar * const *)props, -1);
- g_dbus_method_invocation_return_value(invocation, g_variant_new_tuple(&retvals, 1));
+ if (retvals != NULL) {
+ retvals = g_variant_new_tuple(&retvals, 1);
+ }
+ g_dbus_method_invocation_return_value(invocation, retvals);
g_strfreev(props);
}
Follow ups