e_hwc_windows: compare output of ec zone and hwc in visible_windows_list_get 03/271303/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 24 Jan 2022 07:08:02 +0000 (16:08 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Fri, 18 Feb 2022 02:15:14 +0000 (11:15 +0900)
output of ec zone can be different with hwc of output

Change-Id: Id13f5fcea814b61bd4361684b391ad6dfd9a575a

src/bin/e_hwc_windows.c

index 0f2335f..12726bb 100644 (file)
@@ -1018,6 +1018,12 @@ _e_hwc_windows_visible_windows_list_get(E_Hwc *hwc)
         e_hwc_window_name_set(hwc_window);
         hwc_window->obscured_by_target = obscured_by_target;
 
+        if (hwc)
+          {
+             if (!ec->zone) continue;
+             if (e_output_find(ec->zone->output_id) != hwc->output) continue;
+          }
+
         if (eina_list_data_find(windows_list, hwc_window))
           continue;
 
@@ -1551,7 +1557,7 @@ _e_hwc_windows_target_window_render_flush_post_cb(void *data, Evas *e EINA_UNUSE
 
    _e_hwc_windows_pending_update_data_dequeue(target_hwc_window, comp_info);
 
-   visible_windows = _e_hwc_windows_visible_windows_list_get(target_hwc_window->hwc);
+   visible_windows = _e_hwc_windows_visible_windows_list_get(NULL);
    EINA_LIST_FREE(visible_windows, hwc_window)
      {
         if ((!hwc_window->is_video) &&