e_hwc_windows: find visible window with effect_client 11/216611/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Fri, 18 Oct 2019 05:16:55 +0000 (14:16 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Mon, 4 Nov 2019 05:27:40 +0000 (05:27 +0000)
some effect module use another evas object instead ec->frame

Change-Id: Id6b3817a8a6febd36233389241ed34d371010635

src/bin/e_hwc_windows.c

index 9be0b3c30f012a39cc47fcd4f931da4a5a0ad69f..180ab5fe10af4a16e616beed6bc3cb3c0ece191c 100644 (file)
@@ -576,6 +576,9 @@ _e_hwc_windows_client_get_from_object(Evas_Object *o)
 
    eina_list_free(stack);
 
+   if (!ec)
+     ec = evas_object_data_get(o, "effect_client");
+
    return ec;
 }
 
@@ -656,7 +659,8 @@ _e_hwc_windows_visible_windows_list_get(E_Hwc *hwc)
              e_hwc_window_state_set(hwc_window, E_HWC_WINDOW_STATE_CURSOR, EINA_TRUE);
           }
 
-        windows_list = eina_list_append(windows_list, hwc_window);
+        if (!eina_list_data_find(windows_list, hwc_window))
+          windows_list = eina_list_append(windows_list, hwc_window);
 
         if (!ec->argb && E_CONTAINS(x, y, w, h, 0, 0, scr_w, scr_h))
           ui_skip = EINA_TRUE;