wayland: commit scene after dispatch to fix one-frame-behind rendering
Client surface commits arrive during wl_event_loop_dispatch but may be processed after the frame event has already rendered the old state. Add an additional wlr_scene_output_commit after dispatch to immediately pick up any new client content, fixing the one-interaction-behind visual update issue in WINGs clients like WPrefs.
This commit is contained in:
parent
7982e8155d
commit
ee434b024a
|
|
@ -3679,6 +3679,11 @@ wl_event_loop_run(void)
|
|||
wlr_output_schedule_frame(wl_state.output);
|
||||
wl_event_loop_dispatch(loop, 16);
|
||||
|
||||
/* Commit scene after dispatch to pick up any client surface
|
||||
* updates that arrived during this iteration. */
|
||||
if (wl_state.scene_output && wl_state.allocator)
|
||||
wlr_scene_output_commit(wl_state.scene_output, NULL);
|
||||
|
||||
/* Check inotify for defaults database changes */
|
||||
#ifdef HAVE_INOTIFY
|
||||
if (w_global.inotify.fd_event_queue >= 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue