discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3b139fe0f10a04e022abd981ea88684d0aae0fd4
commit 3b139fe0f10a04e022abd981ea88684d0aae0fd4 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Tue Nov 17 18:21:11 2015 -0500 ecore-evas wayland: enforce frame/state change triggering before move/resize if a state change occurs on the ee, related callbacks must be run prior to performing any resizes in order to ensure that the correct csd sizes are calculated @fix ref T2841 --- .../engines/wayland/ecore_evas_wayland_common.c | 29 +++++++--------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c index 5027cce..0999495 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c @@ -191,6 +191,13 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_ if (nw < 1) nw = 1; if (nh < 1) nh = 1; + if (prev_full != ee->prop.fullscreen) + _ecore_evas_wl_common_border_update(ee); + + if ((prev_max != ee->prop.maximized) || + (prev_full != ee->prop.fullscreen)) + _ecore_evas_wl_common_state_update(ee); + evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh); if (ECORE_EVAS_PORTRAIT(ee)) { @@ -203,30 +210,12 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_ nh -= fw; } - if (prev_full != ee->prop.fullscreen) - _ecore_evas_wl_common_border_update(ee); - - if (ee->prop.fullscreen) - { - _ecore_evas_wl_common_move(ee, ev->x, ev->y); - _ecore_evas_wl_common_resize(ee, nw, nh); - - if (prev_full != ee->prop.fullscreen) - _ecore_evas_wl_common_state_update(ee); - - return ECORE_CALLBACK_PASS_ON; - } - - if ((ee->x != ev->x) || (ee->y != ev->y)) + if (ee->prop.fullscreen || (ee->x != ev->x) || (ee->y != ev->y)) _ecore_evas_wl_common_move(ee, ev->x, ev->y); - if ((ee->req.w != nw) || (ee->req.h != nh)) + if (ee->prop.fullscreen || (ee->req.w != nw) || (ee->req.h != nh)) _ecore_evas_wl_common_resize(ee, nw, nh); - if ((prev_max != ee->prop.maximized) || - (prev_full != ee->prop.fullscreen)) - _ecore_evas_wl_common_state_update(ee); - return ECORE_CALLBACK_PASS_ON; } --