diff options
author | Charles Kerr <charles.kerr@canonical.com> | 2012-06-14 11:51:46 -0500 |
---|---|---|
committer | Charles Kerr <charles.kerr@canonical.com> | 2012-06-14 11:51:46 -0500 |
commit | 23882f41847964edb5c67ff9fe7dd2c55fc9d38e (patch) | |
tree | cc099688caa16478b41d166e6cb9a22589e54b6b /src | |
parent | 51c302dfe676c363ad1e35baec563366340a6d34 (diff) | |
download | ayatana-indicator-session-23882f41847964edb5c67ff9fe7dd2c55fc9d38e.tar.gz ayatana-indicator-session-23882f41847964edb5c67ff9fe7dd2c55fc9d38e.tar.bz2 ayatana-indicator-session-23882f41847964edb5c67ff9fe7dd2c55fc9d38e.zip |
in copy_proxy_properties(), ensure that the 'changed-properties' variant that we emit isn't NULL
Diffstat (limited to 'src')
-rw-r--r-- | src/users-service-dbus.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/users-service-dbus.c b/src/users-service-dbus.c index 135a52e..57cc3a6 100644 --- a/src/users-service-dbus.c +++ b/src/users-service-dbus.c @@ -555,16 +555,19 @@ copy_proxy_properties (GDBusProxy * source, GDBusProxy * target) if (keys != NULL) { int i; + GVariantBuilder builder; + g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); for (i=0; keys[i]; i++) { const gchar * const key = keys[i]; GVariant * value = g_dbus_proxy_get_cached_property (source, key); g_dbus_proxy_set_cached_property (target, key, value); + g_variant_builder_add (&builder, "{sv}", key, value); g_variant_unref (value); } - g_signal_emit_by_name (target, "g-properties-changed", NULL, keys); + g_signal_emit_by_name (target, "g-properties-changed", g_variant_builder_end(&builder), keys); g_strfreev (keys); } } |