summaryrefslogtreecommitdiff
path: root/atspi
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@gnome.org>2022-06-01 13:16:17 -0500
committerFederico Mena Quintero <federico@gnome.org>2022-06-02 16:26:07 -0500
commitfbba144f52c52c1f331b93dd4225d115ebf04630 (patch)
treeb2e7c1be997b590d4ff41a52631d856f27b07c00 /atspi
parent6bec005915c4562a17608b0ea3726c9f6cbffc7c (diff)
downloadat-spi2-core-fbba144f52c52c1f331b93dd4225d115ebf04630.tar.gz
Remove unused field BusDataClosure.data
The comment "TODO this is still memory leak on c->data" from destroy_deferred_message_item() caught my eye, so I went looking for what uses it. defer_message() is the only place that creates BusDataClosure structs, and gets passed the data field. However, the only caller of defer_message() is dbus_connection_add_filter(), and *that* call is done with both NULL user_data and free_data_function. So, defer_message() will always get data=NULL. This commit also removes all the "void *user_data" arguments from the functions called by process_deferred_message(); they just got passed the closure->data but none of them actually use it.
Diffstat (limited to 'atspi')
-rw-r--r--atspi/atspi-device-listener-private.h2
-rw-r--r--atspi/atspi-device-listener.c2
-rw-r--r--atspi/atspi-event-listener-private.h3
-rw-r--r--atspi/atspi-event-listener.c2
-rw-r--r--atspi/atspi-misc.c35
5 files changed, 21 insertions, 23 deletions
diff --git a/atspi/atspi-device-listener-private.h b/atspi/atspi-device-listener-private.h
index d8b533c5..bd54232d 100644
--- a/atspi/atspi-device-listener-private.h
+++ b/atspi/atspi-device-listener-private.h
@@ -31,7 +31,7 @@
G_BEGIN_DECLS
-DBusHandlerResult _atspi_dbus_handle_DeviceEvent (DBusConnection *bus, DBusMessage *message, void *data);
+DBusHandlerResult _atspi_dbus_handle_DeviceEvent (DBusConnection *bus, DBusMessage *message);
gchar *_atspi_device_listener_get_path (AtspiDeviceListener *listener);
diff --git a/atspi/atspi-device-listener.c b/atspi/atspi-device-listener.c
index 9776ebdd..f3dd9339 100644
--- a/atspi/atspi-device-listener.c
+++ b/atspi/atspi-device-listener.c
@@ -339,7 +339,7 @@ read_device_event_from_iter (DBusMessageIter *iter, AtspiDeviceEvent *event)
}
DBusHandlerResult
-_atspi_dbus_handle_DeviceEvent (DBusConnection *bus, DBusMessage *message, void *data)
+_atspi_dbus_handle_DeviceEvent (DBusConnection *bus, DBusMessage *message)
{
const char *path = dbus_message_get_path (message);
int id;
diff --git a/atspi/atspi-event-listener-private.h b/atspi/atspi-event-listener-private.h
index c5c0547f..054aa498 100644
--- a/atspi/atspi-event-listener-private.h
+++ b/atspi/atspi-event-listener-private.h
@@ -34,8 +34,7 @@ G_BEGIN_DECLS
void _atspi_send_event (AtspiEvent *e);
-DBusHandlerResult _atspi_dbus_handle_event (DBusConnection *bus, DBusMessage *message, void *data);
-
+DBusHandlerResult _atspi_dbus_handle_event (DBusConnection *bus, DBusMessage *message);
void
_atspi_reregister_event_listeners ();
diff --git a/atspi/atspi-event-listener.c b/atspi/atspi-event-listener.c
index 5cdc8064..b4a07af4 100644
--- a/atspi/atspi-event-listener.c
+++ b/atspi/atspi-event-listener.c
@@ -965,7 +965,7 @@ _atspi_send_event (AtspiEvent *e)
}
DBusHandlerResult
-_atspi_dbus_handle_event (DBusConnection *bus, DBusMessage *message, void *data)
+_atspi_dbus_handle_event (DBusConnection *bus, DBusMessage *message)
{
char *detail = NULL;
const char *category = dbus_message_get_interface (message);
diff --git a/atspi/atspi-misc.c b/atspi/atspi-misc.c
index 8a6d2636..aeb262b2 100644
--- a/atspi/atspi-misc.c
+++ b/atspi/atspi-misc.c
@@ -336,7 +336,7 @@ typedef struct
} CACHE_ADDITION;
static DBusHandlerResult
-handle_remove_accessible (DBusConnection *bus, DBusMessage *message, void *user_data)
+handle_remove_accessible (DBusConnection *bus, DBusMessage *message)
{
const char *sender = dbus_message_get_sender (message);
AtspiApplication *app;
@@ -367,7 +367,7 @@ handle_remove_accessible (DBusConnection *bus, DBusMessage *message, void *user_
}
static DBusHandlerResult
-handle_name_owner_changed (DBusConnection *bus, DBusMessage *message, void *user_data)
+handle_name_owner_changed (DBusConnection *bus, DBusMessage *message)
{
const char *name, *new, *old;
static gboolean registry_lost = FALSE;
@@ -718,7 +718,7 @@ const char *cache_signal_type = "((so)(so)(so)iiassusau)";
const char *old_cache_signal_type = "((so)(so)(so)a(so)assusau)";
static DBusHandlerResult
-handle_add_accessible (DBusConnection *bus, DBusMessage *message, void *user_data)
+handle_add_accessible (DBusConnection *bus, DBusMessage *message)
{
DBusMessageIter iter;
const char *signature = dbus_message_get_signature (message);
@@ -739,7 +739,6 @@ typedef struct
{
DBusConnection *bus;
DBusMessage *message;
- void *data;
} BusDataClosure;
static GSource *process_deferred_messages_source = NULL;
@@ -753,24 +752,23 @@ process_deferred_message (BusDataClosure *closure)
if (type == DBUS_MESSAGE_TYPE_SIGNAL &&
!strncmp (interface, "org.a11y.atspi.Event.", 21))
{
- _atspi_dbus_handle_event (closure->bus, closure->message, closure->data);
+ _atspi_dbus_handle_event (closure->bus, closure->message);
}
if (dbus_message_is_method_call (closure->message, atspi_interface_device_event_listener, "NotifyEvent"))
{
- _atspi_dbus_handle_DeviceEvent (closure->bus,
- closure->message, closure->data);
+ _atspi_dbus_handle_DeviceEvent (closure->bus, closure->message);
}
if (dbus_message_is_signal (closure->message, atspi_interface_cache, "AddAccessible"))
{
- handle_add_accessible (closure->bus, closure->message, closure->data);
+ handle_add_accessible (closure->bus, closure->message);
}
if (dbus_message_is_signal (closure->message, atspi_interface_cache, "RemoveAccessible"))
{
- handle_remove_accessible (closure->bus, closure->message, closure->data);
+ handle_remove_accessible (closure->bus, closure->message);
}
if (dbus_message_is_signal (closure->message, "org.freedesktop.DBus", "NameOwnerChanged"))
{
- handle_name_owner_changed (closure->bus, closure->message, closure->data);
+ handle_name_owner_changed (closure->bus, closure->message);
}
}
@@ -779,7 +777,6 @@ static GQueue *deferred_messages = NULL;
static void
destroy_deferred_message_item(gpointer ptr)
{
- /* TODO this is still memory leak on c->data */
BusDataClosure *c = ptr;
dbus_message_unref (c->message);
dbus_connection_unref (c->bus);
@@ -824,13 +821,12 @@ process_deferred_messages_callback (gpointer data)
}
static DBusHandlerResult
-defer_message (DBusConnection *connection, DBusMessage *message, void *user_data)
+defer_message (DBusConnection *connection, DBusMessage *message)
{
BusDataClosure *closure = g_new (BusDataClosure, 1);
closure->bus = dbus_connection_ref (bus);
closure->message = dbus_message_ref (message);
- closure->data = user_data;
g_queue_push_tail (deferred_messages, closure);
@@ -849,29 +845,32 @@ defer_message (DBusConnection *connection, DBusMessage *message, void *user_data
static DBusHandlerResult
atspi_dbus_filter (DBusConnection *bus, DBusMessage *message, void *data)
{
+ /* Check that we don't start passing stuff from whatever calls dbus_connection_add_filter() */
+ g_assert (data == NULL);
+
int type = dbus_message_get_type (message);
const char *interface = dbus_message_get_interface (message);
if (type == DBUS_MESSAGE_TYPE_SIGNAL &&
!strncmp (interface, "org.a11y.atspi.Event.", 21))
{
- return defer_message (bus, message, data);
+ return defer_message (bus, message);
}
if (dbus_message_is_method_call (message, atspi_interface_device_event_listener, "NotifyEvent"))
{
- return defer_message (bus, message, data);
+ return defer_message (bus, message);
}
if (dbus_message_is_signal (message, atspi_interface_cache, "AddAccessible"))
{
- return defer_message (bus, message, data);
+ return defer_message (bus, message);
}
if (dbus_message_is_signal (message, atspi_interface_cache, "RemoveAccessible"))
{
- return defer_message (bus, message, data);
+ return defer_message (bus, message);
}
if (dbus_message_is_signal (message, "org.freedesktop.DBus", "NameOwnerChanged"))
{
- defer_message (bus, message, data);
+ defer_message (bus, message);
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;