From 100626b134f992b65a733d6e34275a7e7f03b9d9 Mon Sep 17 00:00:00 2001 From: Patryk Kaczmarek Date: Wed, 18 Oct 2023 02:49:30 +0200 Subject: [PATCH] evas: improved safety of evas_object_pointer_grab_del Change-Id: Ia02c217570351f111bf3210026b3e8f86df38a44 --- src/lib/evas/canvas/evas_object_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 87c4ca6..2a0bc5e 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -130,16 +130,16 @@ evas_object_pointer_grab_del(Evas_Object_Protected_Data *obj, Evas_Object_Pointer_Data *pdata) { //TIZEN_ONLY(20220304): evas: ++safety - if ((pdata->mouse_grabbed > 0) && (obj->layer) && (obj->layer->evas) && (pdata->evas_pdata->seat)) + if ((pdata->mouse_grabbed > 0) && (obj->layer) && (obj->layer->evas) && (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->seat && pdata->evas_pdata->seat->mouse_grabbed == 0) || + 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)) { //TIZEN_ONLY(20220318): evas: ++safety, null defect fix - if(pdata->evas_pdata->seat) + 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) _evas_object_proxy_grab_del(obj, pdata); -- 2.7.4