diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-12-31 12:56:06 -0500 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-12-31 12:56:06 -0500 |
commit | 95e133282ef0ae8942ae513449b31d9f7149c519 (patch) | |
tree | 8486871015ce8f2e334ccf369bc96057f3b7f410 | |
parent | c2b3b159f3e65627d2b5c71a96143e52330d301f (diff) | |
download | enlightenment-95e133282ef0ae8942ae513449b31d9f7149c519.tar.gz |
add special case for frame adjustment during first recalc of new clients
in the case where a new client already has coordinates from creation event,
the frame was never adjusted which resulted in the window being positioned
incorrectly
ref T1106
-rw-r--r-- | src/bin/e_comp_object.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 7a66a7b3f2..0fa1b00254 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -3175,6 +3175,11 @@ reshadow: do { _e_comp_smart_cb_frame_recalc(cw, cw->smart_obj, NULL); + if ((cw->x == -1) && (cw->y == -1) && cw->ec->new_client && (!cw->ec->placed)) + { + cw->ec->x = MAX(cw->ec->zone->x, cw->ec->client.x - cw->client_inset.l); + cw->ec->y = MAX(cw->ec->zone->y, cw->ec->client.y - cw->client_inset.t); + } /* this guarantees that we won't get blocked by the NOP check in the interceptor */ cw->y = cw->x = -99999; if (pbg) |