[at-spi2-core: 5/7] Remove unused field BusDataClosure.data




commit fbba144f52c52c1f331b93dd4225d115ebf04630
Author: Federico Mena Quintero <federico gnome org>
Date:   Wed Jun 1 13:16:17 2022 -0500

    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.

 atspi/atspi-device-listener-private.h |  2 +-
 atspi/atspi-device-listener.c         |  2 +-
 atspi/atspi-event-listener-private.h  |  3 +--
 atspi/atspi-event-listener.c          |  2 +-
 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;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]