aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2012-06-14 11:51:46 -0500
committerCharles Kerr <charles.kerr@canonical.com>2012-06-14 11:51:46 -0500
commit23882f41847964edb5c67ff9fe7dd2c55fc9d38e (patch)
treecc099688caa16478b41d166e6cb9a22589e54b6b
parent51c302dfe676c363ad1e35baec563366340a6d34 (diff)
downloadayatana-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
-rw-r--r--src/users-service-dbus.c5
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);
}
}