summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2015-11-09 11:55:21 -0500
committerChris Michael <cp.michael@samsung.com>2015-12-03 11:36:56 -0500
commit9e9b5d6b31b4dffabf32ec24374afc64c1f8c91b (patch)
tree58357ac8283287a63596ef1edc6aa02ad4a6cbaa
parent85381ee8399ce354a66eb4eb5eb12c08c0f7daf0 (diff)
downloadefl-9e9b5d6b31b4dffabf32ec24374afc64c1f8c91b.tar.gz
ecore-evas-wl: Fix issue of resize jumping
Summary: When an initial client application was shown and we tried to resize it, the resize would jump by the amount of framespace. This was because the xdg_surface@configure event would be sending window geometry as the width/height params in the event. We need to account for that in the callback of window configure and adjust size accordingly. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c16
1 files changed, 16 insertions, 0 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 3cf676f4d2..14b583b531 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,22 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
if (nw < 1) nw = 1;
if (nh < 1) nh = 1;
+ /* NB: We receive window configure sizes based on xdg surface
+ * window geometry, so we need to subtract framespace here */
+
+ evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
+
+ if (ECORE_EVAS_PORTRAIT(ee))
+ {
+ nw -= fw;
+ nh -= fh;
+ }
+ else
+ {
+ nw -= fh;
+ nh -= fw;
+ }
+
if (prev_full != ee->prop.fullscreen)
_ecore_evas_wl_common_border_update(ee);