diff options
author | William Jon McCann <jmccann@redhat.com> | 2012-09-14 11:18:53 -0400 |
---|---|---|
committer | William Jon McCann <jmccann@redhat.com> | 2012-09-14 12:18:50 -0400 |
commit | a7131e2fd668d7c6bf653d721bb0db052fc27393 (patch) | |
tree | f36c970337cc44ab15d36d1f6824bf8844c2d4ca /atspi/atspi-event-listener.c | |
parent | 35e3205bf55c3c818524dcb009dae41620b57e96 (diff) | |
download | at-spi2-core-a7131e2fd668d7c6bf653d721bb0db052fc27393.tar.gz |
Don't leak errors
https://bugzilla.gnome.org/show_bug.cgi?id=684033
Diffstat (limited to 'atspi/atspi-event-listener.c')
-rw-r--r-- | atspi/atspi-event-listener.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/atspi/atspi-event-listener.c b/atspi/atspi-event-listener.c index 2b0798eb..6e70318c 100644 --- a/atspi/atspi-event-listener.c +++ b/atspi/atspi-event-listener.c @@ -550,21 +550,22 @@ atspi_event_listener_register_from_callback (AtspiEventListenerCB callback, return FALSE; } event_listeners = g_list_prepend (event_listeners, e); - dbus_error_init (&d_error); for (i = 0; i < matchrule_array->len; i++) { char *matchrule = g_ptr_array_index (matchrule_array, i); + dbus_error_init (&d_error); dbus_bus_add_match (_atspi_bus(), matchrule, &d_error); + if (dbus_error_is_set (&d_error)) + { + g_warning ("Atspi: Adding match: %s", d_error.message); + dbus_error_free (&d_error); + /* TODO: Set error */ + } + g_free (matchrule); } g_ptr_array_free (matchrule_array, TRUE); - if (d_error.message) - { - g_warning ("Atspi: Adding match: %s", d_error.message); - /* TODO: Set error */ - } - dbus_error_init (&d_error); message = dbus_message_new_method_call (atspi_bus_registry, atspi_path_registry, atspi_interface_registry, @@ -680,7 +681,6 @@ atspi_event_listener_deregister_from_callback (AtspiEventListenerCB callback, is_superset (detail, e->detail)) { gboolean need_replace; - DBusError d_error; DBusMessage *message, *reply; need_replace = (l == event_listeners); l = g_list_remove (l, e); @@ -689,10 +689,8 @@ atspi_event_listener_deregister_from_callback (AtspiEventListenerCB callback, for (i = 0; i < matchrule_array->len; i++) { char *matchrule = g_ptr_array_index (matchrule_array, i); - dbus_error_init (&d_error); - dbus_bus_remove_match (_atspi_bus(), matchrule, &d_error); + dbus_bus_remove_match (_atspi_bus(), matchrule, NULL); } - dbus_error_init (&d_error); message = dbus_message_new_method_call (atspi_bus_registry, atspi_path_registry, atspi_interface_registry, |