From 0c9b245205968d49efddbaa9c6649092646304d9 Mon Sep 17 00:00:00 2001 From: Juyeon Lee Date: Fri, 17 Nov 2017 16:38:31 +0900 Subject: [PATCH] e_desk: update maximize if ec is a member of desk->smart_obj E Client as an member of smart object is not changed even though parent obj(e_desk->smart_obj) is changed, so code has been added as an workaround Change-Id: I0536328815f02f34e374e81674262704f2af0900 --- src/bin/e_desk.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c index 57cdecb..4321b94 100644 --- a/src/bin/e_desk.c +++ b/src/bin/e_desk.c @@ -796,7 +796,9 @@ e_desk_geometry_set(E_Desk *desk, int x, int y, int w, int h) { E_Client *ec; E_Maximize max; - Eina_List *l; + Eina_List *l = NULL, *ll = NULL; + Evas_Object *m; + int cx, cy, dx, dy; if (!e_config->use_desk_smart_obj) @@ -844,6 +846,20 @@ e_desk_geometry_set(E_Desk *desk, int x, int y, int w, int h) } } + // E Client as an member of smart object is not changed even though parent obj is changed + // Workaround : update max geometry if ec is a member of desk->smart_obj + EINA_LIST_FOREACH(evas_object_smart_members_get(desk->smart_obj), ll, m) + { + ec = evas_object_data_get(m, "E_Client"); + if (ec && ec->maximized) + { + max = ec->maximized; + ec->maximized = E_MAXIMIZE_NONE; + e_client_maximize(ec, max); + } + } + + // apply geometry on smart obj evas_object_geometry_set(desk->smart_obj, x, y, w, h); e_comp_render_queue(); } -- 2.7.4