e_hwc_window: add damage to target_window in presentation callback add 86/266686/4
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 17 Nov 2021 07:28:52 +0000 (16:28 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 17 Nov 2021 08:21:09 +0000 (17:21 +0900)
if module calls the hwc presentation callback add api in
hide callback of evas, the hwc presentation callback add api
can return error.
but module wants to know that when window is hidden in display.
so this patch adds damage to canvas instead return error.

Change-Id: Ib0738204b4e22ca638d2a6fb26c7a87e3f94ccfe

src/bin/e_hwc_window.c

index b0e4524..b0311cd 100644 (file)
@@ -2996,12 +2996,9 @@ e_hwc_window_presentation_callback_pending_set(E_Hwc_Window *hwc_window, E_Hwc_P
    hwc = hwc_window->hwc;
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, EINA_FALSE);
 
-   if ((hwc_window->accepted_state == E_HWC_WINDOW_STATE_NONE) &&
-       (!hwc_window->ec || !evas_object_visible_get(hwc_window->ec->frame)))
-     {
-        EHWERR("hwc_window is invisible on display", hwc_window->ec, hwc_window->hwc, hwc_window);
-        return EINA_FALSE;
-     }
+   if ((hwc_window->accepted_state == E_HWC_WINDOW_STATE_NONE) ||
+       (hwc_window->accepted_state == E_HWC_WINDOW_STATE_CLIENT))
+     e_hwc_windows_target_window_force_render(hwc->target_hwc_window);
 
    if (!e_hwc_presentation_callback_list_set(&hwc_window->pending_presentation_callbacks, callback))
      {