From 51c68cc34af24102abe4c0f7072f384f91427b23 Mon Sep 17 00:00:00 2001 From: Mike Gorse Date: Mon, 13 Feb 2012 11:32:47 -0600 Subject: [PATCH] At-spi-bus-launcher signal emission fixes Emit PropertiesChanged from the correct interface. Also, create GVariantBuilders on the stack; fixes memory leaks. --- bus/at-spi-bus-launcher.c | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/bus/at-spi-bus-launcher.c b/bus/at-spi-bus-launcher.c index 44662627..a60b70e2 100644 --- a/bus/at-spi-bus-launcher.c +++ b/bus/at-spi-bus-launcher.c @@ -260,8 +260,8 @@ static void handle_a11y_enabled_change (A11yBusLauncher *app, gboolean enabled, gboolean notify_gsettings) { - GVariantBuilder *builder; - GVariantBuilder *invalidated_builder; + GVariantBuilder builder; + GVariantBuilder invalidated_builder; if (enabled == app->a11y_enabled) return; @@ -275,16 +275,17 @@ handle_a11y_enabled_change (A11yBusLauncher *app, gboolean enabled, g_settings_sync (); } - builder = g_variant_builder_new (G_VARIANT_TYPE_ARRAY); - invalidated_builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); - g_variant_builder_add (builder, "{sv}", "IsEnabled", + g_variant_builder_init (&builder, G_VARIANT_TYPE_ARRAY); + g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as")); + g_variant_builder_add (&builder, "{sv}", "IsEnabled", g_variant_new_boolean (enabled)); g_dbus_connection_emit_signal (app->session_bus, NULL, "/org/a11y/bus", - "org.freedesktop.DBus", "PropertiesChanged", + "org.freedesktop.DBus.Properties", + "PropertiesChanged", g_variant_new ("(sa{sv}as)", "org.a11y.Status", - builder, - invalidated_builder), + &builder, + &invalidated_builder), NULL); } @@ -292,8 +293,8 @@ static void handle_screen_reader_enabled_change (A11yBusLauncher *app, gboolean enabled, gboolean notify_gsettings) { - GVariantBuilder *builder; - GVariantBuilder *invalidated_builder; + GVariantBuilder builder; + GVariantBuilder invalidated_builder; if (enabled == app->screen_reader_enabled) return; @@ -312,16 +313,17 @@ handle_screen_reader_enabled_change (A11yBusLauncher *app, gboolean enabled, g_settings_sync (); } - builder = g_variant_builder_new (G_VARIANT_TYPE_ARRAY); - invalidated_builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); - g_variant_builder_add (builder, "{sv}", "ScreenReaderEnabled", + g_variant_builder_init (&builder, G_VARIANT_TYPE_ARRAY); + g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as")); + g_variant_builder_add (&builder, "{sv}", "ScreenReaderEnabled", g_variant_new_boolean (enabled)); g_dbus_connection_emit_signal (app->session_bus, NULL, "/org/a11y/bus", - "org.freedesktop.DBus", "PropertiesChanged", + "org.freedesktop.DBus.Properties", + "PropertiesChanged", g_variant_new ("(sa{sv}as)", "org.a11y.Status", - builder, - invalidated_builder), + &builder, + &invalidated_builder), NULL); } -- 2.34.1