e_comp_wl_subsurface: remove transform of ec->desk_group when create subsurface 77/237277/3 accepted/tizen/unified/20200630.131341 submit/tizen/20200629.093328
authorJunseok, Kim <juns.kim@samsung.com>
Fri, 26 Jun 2020 13:03:16 +0000 (22:03 +0900)
committerJunseok, Kim <juns.kim@samsung.com>
Mon, 29 Jun 2020 05:05:48 +0000 (14:05 +0900)
Change-Id: I36b5dd19aa50b4990db973c9580bbaa22c4fe8a2
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_desk_group.c
src/bin/e_desk_group.h

index 737aa65a24e1595e27aef3d6acb698ee54d0de82..53f48d4b295c5b4bbd27335a122412ffe85c8b1e 100644 (file)
@@ -121,6 +121,17 @@ _e_desk_group_active_change(E_Desk_Group *edg, E_Desk *desk)
      }
 }
 
+static void
+_e_desk_group_cb_hook_subsurface_create(void *data, E_Client *ec)
+{
+   EINA_SAFETY_ON_NULL_RETURN(ec);
+
+   if (ec->desk_group.transform)
+     {
+        e_client_transform_core_remove(ec, ec->desk_group.transform);
+     }
+}
+
 EINTERN int
 e_desk_group_init(void)
 {
@@ -151,6 +162,10 @@ e_desk_group_new(E_Desk *desk, int id, int x, int y, int w, int h, E_Desk_Group_
 
    edg->layer = layer;
 
+   edg->hook_subsurf_create = e_comp_wl_hook_add(E_COMP_WL_HOOK_SUBSURFACE_CREATE,
+                                                 _e_desk_group_cb_hook_subsurface_create,
+                                                 NULL);
+
    return edg;
 }
 
@@ -167,6 +182,8 @@ e_desk_group_del(E_Desk_Group *edg)
    if (edg->active)
      _e_desk_group_active_change(NULL, edg->desk);
 
+   E_FREE_FUNC(edg->hook_subsurf_create, e_comp_wl_hook_del);
+
    E_FREE(edg);
 }
 
index ce704c1646bec819af9cb667e834b899904997ff..477210eb8ee676ab1542adedaf3c11a393ab34ae 100644 (file)
@@ -39,6 +39,8 @@ struct _E_Desk_Group
    Eina_List           *ec_lists[E_DESK_GROUP_CLIENT_LAYER_MAX];
 
    Eina_List           *handlers;
+
+   E_Comp_Wl_Hook      *hook_subsurf_create;
 };
 
 struct _E_Event_Desk_Group