summaryrefslogtreecommitdiff
path: root/src/lib/ecore_wl2
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-08-30 12:29:48 -0500
committerDerek Foreman <derekf@osg.samsung.com>2017-08-30 14:11:47 -0500
commitf886a76daeab2b73eee441008e6b78d3f3d4ec02 (patch)
tree230207e1903bc8e1c7f101a9232696b359ea11c6 /src/lib/ecore_wl2
parente7db6eec4607e78fa2e5160590f0b47b09379d93 (diff)
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
Diffstat (limited to 'src/lib/ecore_wl2')
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_window.c6
1 files changed, 5 insertions, 1 deletions
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)
1398 window->callback = wl_surface_frame(window->surface); 1398 window->callback = wl_surface_frame(window->surface);
1399 wl_callback_add_listener(window->callback, &_frame_listener, window); 1399 wl_callback_add_listener(window->callback, &_frame_listener, window);
1400 1400
1401 if (flush) wl_surface_commit(window->surface); 1401 if (flush)
1402 {
1403 wl_surface_commit(window->surface);
1404 ecore_wl2_display_flush(window->display);
1405 }
1402} 1406}
1403 1407
1404EAPI Eina_Bool 1408EAPI Eina_Bool