diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index 4d4dc3c..ed5c96f 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -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) {