e_hwc_window: check delete of ec before create hwc_window 85/206285/5
authorChangyeon Lee <cyeon.lee@samsung.com>
Thu, 16 May 2019 04:54:13 +0000 (13:54 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 28 May 2019 10:41:47 +0000 (10:41 +0000)
Change-Id: If770cb2c9210175526735e4f4f2ecf34a707493c

src/bin/e_hwc_window.c

index e0801704701f4e5cf8be4fff6fe73dd8527c2a3d..90413aba8235e12ea9a7e9ccf20957480959c542 100644 (file)
@@ -358,7 +358,10 @@ _e_hwc_window_client_cb_zone_set(void *data, int type, void *event)
    /* If an e_client belongs to the e_output managed by hwc_plane policy,
     * there's no need to deal with hwc_windows. */
    if (e_hwc_policy_get(output->hwc) == E_HWC_POLICY_PLANES)
-      return ECORE_CALLBACK_PASS_ON;
+     return ECORE_CALLBACK_PASS_ON;
+
+   if (e_object_is_del(E_OBJECT(ec)))
+     return ECORE_CALLBACK_PASS_ON;
 
    if (ec->hwc_window)
      {
@@ -680,6 +683,7 @@ e_hwc_window_new(E_Hwc *hwc, E_Client *ec, E_Hwc_Window_State state)
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, NULL);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
+   EINA_SAFETY_ON_TRUE_RETURN_VAL(e_object_is_del(E_OBJECT(ec)), NULL);
 
    if (ec->hwc_window) goto end;