fix black screen on QEMU modeset/resize

When running dwl inside a QEMU VM and toggling fullscreen in and out,
the output can stay as a black screen until a new client (such as foot)
forces a redraw. Calling wlr_output_schedule_frame() ensures the frame
loop stays active and resolves the issue.
This commit is contained in:
Diego Viola
2026-11-11 04:56:51 -03:00
parent 86a30c4af2
commit 637842ce4b
+2
View File
@@ -2430,6 +2430,7 @@ rendermon(struct wl_listener *listener, void *data)
wlr_scene_output_commit(m->scene_output, NULL);
clock_gettime(CLOCK_MONOTONIC, &now);
wlr_output_schedule_frame(m->wlr_output);
wlr_scene_output_send_frame_done(m->scene_output, &now);
}
@@ -2459,6 +2460,7 @@ requestmonstate(struct wl_listener *listener, void *data)
{
struct wlr_output_event_request_state *event = data;
wlr_output_commit_state(event->output, event->state);
wlr_output_schedule_frame(event->output);
updatemons(NULL, NULL);
}