From 28e81f5060478fd97568e6ddf99a8caae1ceb373 Mon Sep 17 00:00:00 2001 From: Hosang Kim Date: Wed, 22 Nov 2023 14:17:28 +0900 Subject: [PATCH] evas_object_main: remove unnecessary condition and improve safety Change-Id: I89bc5d1f74c27d2d98d3b1c9bb1247ff860473ba --- src/lib/evas/canvas/evas_object_main.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index a3fa9f9..4787783 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -132,24 +132,22 @@ evas_object_pointer_grab_del(Evas_Object_Protected_Data *obj, if (!EVAS_OBJECT_DATA_ALIVE(obj)) goto on_error; //TIZEN_ONLY(20220304): evas: ++safety - if ((pdata->mouse_grabbed > 0) && (obj->layer) && (obj->layer->evas) && (pdata->evas_pdata) && (pdata->evas_pdata->seat)) + if ((pdata->mouse_grabbed > 0) && (pdata->evas_pdata) && (pdata->evas_pdata->seat)) pdata->evas_pdata->seat->mouse_grabbed -= pdata->mouse_grabbed; //TIZEN_ONLY(20220304): evas: ++safety - if (((pdata->mouse_in && pdata->evas_pdata && + if ((pdata->mouse_in && pdata->evas_pdata && pdata->evas_pdata->seat && pdata->evas_pdata->seat->mouse_grabbed == 0) || - (pdata->mouse_grabbed > 0)) && - (obj->layer) && - (obj->layer->evas)) + (pdata->mouse_grabbed > 0)) { //TIZEN_ONLY(20220318): evas: ++safety, null defect fix - if(pdata->evas_pdata && pdata->evas_pdata->seat) - pdata->evas_pdata->seat->object.in = eina_list_remove(pdata->evas_pdata->seat->object.in, obj->object); - if (obj->proxy->is_proxy && obj->proxy->src_events) + if (pdata->evas_pdata && pdata->evas_pdata->seat) + pdata->evas_pdata->seat->object.in = eina_list_remove(pdata->evas_pdata->seat->object.in, obj->object); + if (obj->proxy && obj->proxy->is_proxy && obj->proxy->src_events) _evas_object_proxy_grab_del(obj, pdata); } - if (obj->events->pointer_grabs) + if (obj->events && obj->events->pointer_grabs) { EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events, Evas_Object_Events_Data, events) events->pointer_grabs = eina_inlist_remove(events->pointer_grabs, EINA_INLIST_GET(pdata)); -- 2.7.4