From: Juyeon Lee Date: Fri, 17 Nov 2017 07:34:00 +0000 (+0900) Subject: e_desk: update maximize if ec is a member of desk->smart_obj X-Git-Tag: accepted/tizen/4.0/unified/20171123.184406~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc31af4161764184836ab588f96fa9a7583044a2;p=platform%2Fupstream%2Fenlightenment.git 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: I2340570736474190342c82dead0f4a6a97cf6d96 --- diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c index 6d68146..b8220e0 100644 --- a/src/bin/e_desk.c +++ b/src/bin/e_desk.c @@ -797,7 +797,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) @@ -845,6 +847,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(); }