wayland: ignore resize from no-op surface configure events, send events always

this fixes the case where a configure event with the current window geometry
would cause (inaccurate) resizes

@fix
This commit is contained in:
Mike Blumenkrantz 2016-03-30 15:42:21 -04:00
parent ac64e26b2d
commit f70649a13d
2 changed files with 4 additions and 4 deletions

View File

@ -113,9 +113,10 @@ _xdg_surface_cb_configure(void *data, struct xdg_surface *xdg_surface EINA_UNUSE
}
win->configure_serial = serial;
if ((win->geometry.w == w) && (win->geometry.h == h))
w = h = 0;
if ((w > 0) && (h > 0))
_ecore_wl2_window_configure_send(win, w, h, 0);
_ecore_wl2_window_configure_send(win, w, h, 0);
}
static void

View File

@ -187,8 +187,6 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
nw = ev->w;
nh = ev->h;
if (nw < 1) nw = 1;
if (nh < 1) nh = 1;
if (prev_full != ee->prop.fullscreen)
_ecore_evas_wl_common_border_update(ee);
@ -197,6 +195,7 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
(prev_full != ee->prop.fullscreen))
_ecore_evas_wl_common_state_update(ee);
if ((!nw) && (!nh)) return ECORE_CALLBACK_RENEW;
/* 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, &fy, NULL, NULL);