forked from enlightenment/efl
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:
parent
ac64e26b2d
commit
f70649a13d
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue