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
This commit is contained in:
Mike Blumenkrantz 2017-11-08 09:29:50 -05:00
parent a7d5920ba6
commit f05b26c8a3
1 changed files with 7 additions and 5 deletions

View File

@ -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);