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;
 }
 

-- 


Reply via email to