diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2016-08-01 10:54:44 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2016-08-01 10:55:54 -0400 |
commit | 82afc08c3942e51a3e242f7d2656d6413131b5cb (patch) | |
tree | 4e5c4a917a19bfb893a35cf4f36ed76000603f50 | |
parent | 6548fae9c6408aa157a27b476510423f55499a35 (diff) | |
download | enlightenment-82afc08c3942e51a3e242f7d2656d6413131b5cb.tar.gz |
only check x11 configurerequest geometry changes when applicable
in some cases during a frame recalc this could lead to window positioning
being erroneously changed
fix T4097
-rw-r--r-- | src/bin/e_comp_x.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index e1ee1c7d87..497d760c3a 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -1709,8 +1709,12 @@ _e_comp_x_configure_request(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore e_comp_object_frame_xy_adjust(ec->frame, x, y, &x, &y); e_comp_object_frame_wh_adjust(ec->frame, w, h, &w, &h); - move = (x != ec->x) || (y != ec->y); - resize = (w != ec->w) || (h != ec->h); + if ((ev->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X) || + (ev->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y)) + move = (x != ec->x) || (y != ec->y); + if ((ev->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) || + (ev->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H)) + resize = (w != ec->w) || (h != ec->h); if (move && (!ec->lock_client_location)) { |