summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Doffman <mdoff@altair-voyager.(none)>2009-09-09 10:03:09 +0100
committerMark Doffman <mdoff@altair-voyager.(none)>2009-09-09 10:03:09 +0100
commitf69eb65a0a47aea928adab62e26d7e206f1f5c64 (patch)
treefcfec0ad22784763c1403a24ca6b721fc51eddfa
parentc9c6debc05081a988f1145c49b4079eda4052c37 (diff)
downloadat-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.c2
-rw-r--r--atk-adaptor/tree-adaptor.c37
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);
+ }
}