e_hwc: do not set device state if image filter of comp_object is set 97/236997/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 23 Jun 2020 11:00:50 +0000 (20:00 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 24 Jun 2020 04:29:11 +0000 (13:29 +0900)
image filter is rendered by evas

Change-Id: I0d1832601a5e3fe08b2589ba63d9f3c1e1caf751

src/bin/e_hwc_planes.c
src/bin/e_hwc_window.c

index 1be7af7648dd7312a907396d8d95dccfd6577e53..b8406414435250453e63ffb195ec8397a0d30cfb 100644 (file)
@@ -78,6 +78,8 @@ _e_hwc_planes_ec_check(E_Client *ec)
           return EINA_FALSE;
      }
 
+   if (e_comp_object_image_filter_get(ec->frame) != E_COMP_IMAGE_FILTER_NONE)
+     return EINA_FALSE;
 
    return EINA_TRUE;
 }
index 0925f8ade818853a416bfa9a6bed5fd297d2fc87..7c7f5ea19a75ceb2de92b0d236bb64780e432e20 100644 (file)
@@ -90,6 +90,7 @@ typedef enum _E_Hwc_Window_Restriction
    E_HWC_WINDOW_RESTRICTION_QUICKPANEL_OPEN,
    E_HWC_WINDOW_RESTRICTION_PIXMAP_RESOURCE,
    E_HWC_WINDOW_RESTRICTION_OBSCURED_BY_TARGET,
+   E_HWC_WINDOW_RESTRICTION_IMAGE_FILTER,
 } E_Hwc_Window_Restriction;
 
 static Eina_Bool ehw_trace = EINA_FALSE;
@@ -1893,6 +1894,13 @@ e_hwc_window_device_state_available_update(E_Hwc_Window *hwc_window)
         goto finish;
      }
 
+   if (e_comp_object_image_filter_get(ec->frame) != E_COMP_IMAGE_FILTER_NONE)
+     {
+        restriction = E_HWC_WINDOW_RESTRICTION_IMAGE_FILTER;
+        available = EINA_FALSE;
+        goto finish;
+     }
+
    // if there is a ec which is lower than quickpanel and quickpanel is opened.
    if (E_POLICY_QUICKPANEL_LAYER >= evas_object_layer_get(ec->frame))
      {
@@ -2270,6 +2278,8 @@ e_hwc_window_restriction_string_get(E_Hwc_Window *hwc_window)
        return "pixmap resource";
      case E_HWC_WINDOW_RESTRICTION_OBSCURED_BY_TARGET:
        return "obscured by target";
+     case E_HWC_WINDOW_RESTRICTION_IMAGE_FILTER:
+       return "image filter";
      default:
        return "UNKNOWN";
     }