diff options
author | Federico Mena Quintero <federico@gnome.org> | 2022-06-01 13:16:17 -0500 |
---|---|---|
committer | Federico Mena Quintero <federico@gnome.org> | 2022-06-02 16:26:07 -0500 |
commit | fbba144f52c52c1f331b93dd4225d115ebf04630 (patch) | |
tree | b2e7c1be997b590d4ff41a52631d856f27b07c00 /atspi | |
parent | 6bec005915c4562a17608b0ea3726c9f6cbffc7c (diff) | |
download | at-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.h | 2 | ||||
-rw-r--r-- | atspi/atspi-device-listener.c | 2 | ||||
-rw-r--r-- | atspi/atspi-event-listener-private.h | 3 | ||||
-rw-r--r-- | atspi/atspi-event-listener.c | 2 | ||||
-rw-r--r-- | atspi/atspi-misc.c | 35 |
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; |