From 74dfba5dbc9e3ca06d5533db7b2931b4dd6ca379 Mon Sep 17 00:00:00 2001 From: "Junseok, Kim" Date: Fri, 26 Jun 2020 22:03:16 +0900 Subject: [PATCH] e_comp_wl_subsurface: remove transform of ec->desk_group when create subsurface Change-Id: I36b5dd19aa50b4990db973c9580bbaa22c4fe8a2 Signed-off-by: Junseok, Kim --- src/bin/e_desk_group.c | 17 +++++++++++++++++ src/bin/e_desk_group.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/src/bin/e_desk_group.c b/src/bin/e_desk_group.c index 737aa65a24..53f48d4b29 100644 --- a/src/bin/e_desk_group.c +++ b/src/bin/e_desk_group.c @@ -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); } diff --git a/src/bin/e_desk_group.h b/src/bin/e_desk_group.h index ce704c1646..477210eb8e 100644 --- a/src/bin/e_desk_group.h +++ b/src/bin/e_desk_group.h @@ -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 -- 2.34.1