derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f886a76daeab2b73eee441008e6b78d3f3d4ec02
commit f886a76daeab2b73eee441008e6b78d3f3d4ec02 Author: Derek Foreman <der...@osg.samsung.com> Date: Wed Aug 30 12:29:48 2017 -0500 wayland: Force a display flush when committing surfaces We had a hack in place to flush the display from an idle enterer instead of after a surface commit. This led to a problem where the idle enterer dispatch order was: renderer for main canvas wayland dispatch idle enterer renderer for mouse cursor canvas The surface commit for the mouse cursor was never dispatched, so the mouse cursor animation would only update at the rate other events occurred. By flushing at the appropriate times instead we ensure a proper update. ref T5850 --- src/lib/ecore_wl2/ecore_wl2_window.c | 6 +++++- src/modules/evas/engines/wayland_egl/evas_wl_main.c | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c b/src/lib/ecore_wl2/ecore_wl2_window.c index 2ea2bd979d..81d8568f09 100644 --- a/src/lib/ecore_wl2/ecore_wl2_window.c +++ b/src/lib/ecore_wl2/ecore_wl2_window.c @@ -1398,7 +1398,11 @@ ecore_wl2_window_commit(Ecore_Wl2_Window *window, Eina_Bool flush) window->callback = wl_surface_frame(window->surface); wl_callback_add_listener(window->callback, &_frame_listener, window); - if (flush) wl_surface_commit(window->surface); + if (flush) + { + wl_surface_commit(window->surface); + ecore_wl2_display_flush(window->display); + } } EAPI Eina_Bool diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c b/src/modules/evas/engines/wayland_egl/evas_wl_main.c index b0249961ca..4f1823ec1f 100644 --- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c +++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c @@ -547,6 +547,7 @@ eng_outbuf_flush(Outbuf *ob, Tilebuf_Rect *surface_damage, Tilebuf_Rect *buffer_ end: glsym_evas_gl_preload_render_unlock(eng_preload_make_current, ob); + ecore_wl2_display_flush(ob->wl2_disp); } Evas_Engine_GL_Context * --