summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-12-31 12:56:06 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-12-31 12:56:06 -0500
commit95e133282ef0ae8942ae513449b31d9f7149c519 (patch)
tree8486871015ce8f2e334ccf369bc96057f3b7f410
parentc2b3b159f3e65627d2b5c71a96143e52330d301f (diff)
downloadenlightenment-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.c5
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)