summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-11-08 09:29:50 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-11-08 09:29:28 -0500
commitf05b26c8a3a9db7ace24b4e4bb74409d798be079 (patch)
treef42f62df82253fd09c3db3032809f260e2d79be3
parenta7d5920ba66f9010323569f87ab3fad938e3cdfd (diff)
downloadenlightenment-f05b26c8a3a9db7ace24b4e4bb74409d798be079.tar.gz
set zone/desk for clients after creating comp object
previously this resulted in attempting to move the comp object before it was created, but evas does not throw any errors when null is passed and so it was never noticed fix T6317 ref T6326
-rw-r--r--src/bin/e_client.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index c6597b3058..e66a8fd600 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2672,11 +2672,6 @@ e_client_new(E_Pixmap *cp, int first_map, int internal)
return NULL;
}
- if (ec->override)
- _e_client_zone_update(ec);
- else if (!ec->desk)
- e_client_desk_set(ec, e_desk_current_get(e_zone_current_get()));
-
ec->icccm.title = NULL;
ec->icccm.name = NULL;
ec->icccm.class = NULL;
@@ -2725,6 +2720,13 @@ e_client_new(E_Pixmap *cp, int first_map, int internal)
if (!ec->ignored) EC_CHANGED(ec);
e_comp_object_client_add(ec);
+
+ if (ec->override)
+ _e_client_zone_update(ec);
+ else if (!ec->desk)
+ e_client_desk_set(ec, e_desk_current_get(e_zone_current_get()));
+ if (!ec->re_manage)
+ ec->placed = ec->changes.pos = 0; //ensure placement is run
if (ec->frame)
{
evas_object_event_callback_add(ec->frame, EVAS_CALLBACK_SHOW, _e_client_cb_evas_show, ec);