diff options
author | Mark Doffman <mdoff@altair-voyager.(none)> | 2009-09-09 10:03:09 +0100 |
---|---|---|
committer | Mark Doffman <mdoff@altair-voyager.(none)> | 2009-09-09 10:03:09 +0100 |
commit | f69eb65a0a47aea928adab62e26d7e206f1f5c64 (patch) | |
tree | fcfec0ad22784763c1403a24ca6b721fc51eddfa | |
parent | c9c6debc05081a988f1145c49b4079eda4052c37 (diff) | |
download | at-spi2-atk-f69eb65a0a47aea928adab62e26d7e206f1f5c64.tar.gz |
2009-09-09 Mark Doffman <mark.doffman@codethink.co.uk>
Remove memory leaks from non de-referenced messages.
Fix provided by:
Mario Lang
-rw-r--r-- | atk-adaptor/event.c | 2 | ||||
-rw-r--r-- | atk-adaptor/tree-adaptor.c | 37 |
2 files changed, 26 insertions, 13 deletions
diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c index 2039b63..58c7e1c 100644 --- a/atk-adaptor/event.c +++ b/atk-adaptor/event.c @@ -267,6 +267,8 @@ emit_rect(AtkObject *accessible, dbus_message_iter_close_container (&iter, &variant); dbus_connection_send(atk_adaptor_app_data->bus, sig, NULL); + + dbus_message_unref (sig); } /*---------------------------------------------------------------------------*/ diff --git a/atk-adaptor/tree-adaptor.c b/atk-adaptor/tree-adaptor.c index c3c6c11..c292bbd 100644 --- a/atk-adaptor/tree-adaptor.c +++ b/atk-adaptor/tree-adaptor.c @@ -48,30 +48,41 @@ void spi_emit_cache_removal (guint ref, DBusConnection *bus) { DBusMessage *message; - DBusMessageIter iter; - gchar *path; - message = dbus_message_new_signal ("/org/freedesktop/atspi/tree", SPI_DBUS_INTERFACE_TREE, "removeAccessible"); + if ((message = dbus_message_new_signal ("/org/freedesktop/atspi/tree", + SPI_DBUS_INTERFACE_TREE, + "removeAccessible"))) { + DBusMessageIter iter; + gchar *path; - dbus_message_iter_init_append (message, &iter); + dbus_message_iter_init_append (message, &iter); - path = atk_dbus_ref_to_path (ref); - dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &path); + path = atk_dbus_ref_to_path (ref); + dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &path); - dbus_connection_send(bus, message, NULL); + dbus_connection_send(bus, message, NULL); + + dbus_message_unref (message); + } } void spi_emit_cache_update (AtkObject *accessible, DBusConnection *bus) { - DBusMessage *message; - DBusMessageIter iter; - message = dbus_message_new_signal ("/org/freedesktop/atspi/tree", SPI_DBUS_INTERFACE_TREE, "updateAccessible"); + DBusMessage *message; + + if ((message = dbus_message_new_signal ("/org/freedesktop/atspi/tree", + SPI_DBUS_INTERFACE_TREE, + "updateAccessible"))) { + DBusMessageIter iter; + + dbus_message_iter_init_append (message, &iter); + spi_atk_append_accessible (accessible, &iter); - dbus_message_iter_init_append (message, &iter); - spi_atk_append_accessible (accessible, &iter); + dbus_connection_send(bus, message, NULL); - dbus_connection_send(bus, message, NULL); + dbus_message_unref (message); + } } |