From 2c8b57f74b0012b624cef341fc03fc30b82f6cf3 Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Thu, 20 Mar 2025 16:56:13 +0900 Subject: [PATCH] virtual_touch: fix to retrieve ec from wl_listeners's object, not from data Change-Id: Id7c8b66b29d6bcda1e730baeb59ffd0e4cb5ccdd --- src/bin/inputmgr/services/e_service_virtual_touch.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/bin/inputmgr/services/e_service_virtual_touch.c b/src/bin/inputmgr/services/e_service_virtual_touch.c index 9f2bb01fa2..beb600d74f 100644 --- a/src/bin/inputmgr/services/e_service_virtual_touch.c +++ b/src/bin/inputmgr/services/e_service_virtual_touch.c @@ -705,13 +705,17 @@ _e_service_virtual_touch_evas_callback_del(E_Client *ec) static void _e_service_virtual_touch_cb_client_destroy(struct wl_listener *listener, void *data) { - E_Client *ec = data, *ec_data; + E_Client *ec, *ec_data; E_Service_Virtual_Touch_Private_Client *vtp_client; Eina_List *l, *ll; - EINA_SAFETY_ON_NULL_RETURN(ec); - vtp_client = wl_container_of(listener, vtp_client, client_destroy); + ec = vtp_client->ec; + EINA_SAFETY_ON_NULL_RETURN(ec); + + wl_list_remove(&vtp_client->client_virtual_touch.link); + wl_list_remove(&vtp_client->client_destroy.link); + E_FREE(vtp_client); EINA_LIST_FOREACH_SAFE(virtual_touch->list.ec, l, ll, ec_data) -- 2.34.1