evas_object_main: remove unnecessary condition and improve safety 21/301721/1
authorHosang Kim <hosang12.kim@samsung.com>
Wed, 22 Nov 2023 05:17:28 +0000 (14:17 +0900)
committerHosang Kim <hosang12.kim@samsung.com>
Wed, 22 Nov 2023 05:17:28 +0000 (14:17 +0900)
Change-Id: I89bc5d1f74c27d2d98d3b1c9bb1247ff860473ba

src/lib/evas/canvas/evas_object_main.c

index a3fa9f9..4787783 100644 (file)
@@ -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));