devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3a8cfeb6d6feb077c30d2d8eea74babf16616613
commit 3a8cfeb6d6feb077c30d2d8eea74babf16616613 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Fri Dec 4 14:15:19 2015 -0500 ecore-evas-wayland: Acknowledge configure event post render This fixes a potential issue where we may have been sending the configure acknowledgement before applying the actual new configuration to the surface. Sending the ack_configure during post-render ensures that we have already rendered according to the new configure (addresses deferred rendering issue). @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c | 7 +++++++ .../ecore_evas/engines/wayland/ecore_evas_wayland_private.h | 1 + 2 files changed, 8 insertions(+) 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 a7500f2..0a36eec 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 @@ -1351,8 +1351,15 @@ _ecore_evas_wl_common_render_updates(void *data, Evas *evas EINA_UNUSED, void *e void _ecore_evas_wl_common_post_render(Ecore_Evas *ee) { + Ecore_Evas_Engine_Wl_Data *wdata; + LOGFN(__FILE__, __LINE__, __FUNCTION__); + wdata = ee->engine.data; + if (wdata->win->configure_ack) + wdata->win->configure_ack(wdata->win->xdg_surface, + wdata->win->configure_serial); + _ecore_evas_idle_timeout_update(ee); if (ee->func.fn_post_render) ee->func.fn_post_render(ee); } diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h index f627d29..2551c0f 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h @@ -21,6 +21,7 @@ #include <Ecore_Input_Evas.h> #include <Ecore_Wayland.h> #include <Ecore_Wl2.h> +#include "ecore_wl2_private.h" #include <Ecore_Evas.h> #include "ecore_evas_private.h" --