From ca48dcb6f2ab0aa08bb72711de6da044cd46d8fb Mon Sep 17 00:00:00 2001 From: Mike Gorse Date: Tue, 23 Feb 2021 10:12:15 -0600 Subject: [PATCH] AtspiDeviceListenerCB: remove const from event prototype The parameter is marked with (transfer full), and the code expects the caller to free the event, so adjust the prototype to clarify the expected behavior. Also fix a related memory leak in atspi-device-legacy.c. Fixes #31 Change-Id: I268c80df3f251ca99456827a878e78f191a18736 --- atspi/atspi-device-legacy.c | 3 ++- atspi/atspi-device-listener.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/atspi/atspi-device-legacy.c b/atspi/atspi-device-legacy.c index 6950bc3..6c19b79 100644 --- a/atspi/atspi-device-legacy.c +++ b/atspi/atspi-device-legacy.c @@ -86,7 +86,7 @@ set_virtual_modifier (AtspiDeviceLegacy *legacy_device, gint keycode, gboolean e gboolean -key_cb (const AtspiDeviceEvent *event, void *user_data) +key_cb (AtspiDeviceEvent *event, void *user_data) { AtspiDeviceLegacy *legacy_device = ATSPI_DEVICE_LEGACY (user_data); AtspiDeviceLegacyPrivate *priv = atspi_device_legacy_get_instance_private (legacy_device); @@ -100,6 +100,7 @@ key_cb (const AtspiDeviceEvent *event, void *user_data) event->modifiers | priv->virtual_mods_enabled, event->event_string); + g_boxed_free (ATSPI_TYPE_DEVICE_EVENT, event); return ret; } diff --git a/atspi/atspi-device-listener.h b/atspi/atspi-device-listener.h index d91a203..718a415 100644 --- a/atspi/atspi-device-listener.h +++ b/atspi/atspi-device-listener.h @@ -45,7 +45,7 @@ GType atspi_device_event_get_type (void); * Returns: #TRUE if the client wishes to consume/preempt the event, preventing it from being * relayed to the currently focussed application, #FALSE if the event delivery should proceed as normal. **/ -typedef gboolean (*AtspiDeviceListenerCB) (const AtspiDeviceEvent *stroke, +typedef gboolean (*AtspiDeviceListenerCB) (AtspiDeviceEvent *stroke, void *user_data); /** -- 2.7.4