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
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
end:
glsym_evas_gl_preload_render_unlock(eng_preload_make_current, ob);
+ ecore_wl2_display_flush(ob->wl2_disp);
}
Evas_Engine_GL_Context *