mirror of
https://codeberg.org/dwl/dwl.git
synced 2026-11-12 16:13:20 +00:00
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:
@@ -2430,6 +2430,7 @@ rendermon(struct wl_listener *listener, void *data)
|
|||||||
|
|
||||||
wlr_scene_output_commit(m->scene_output, NULL);
|
wlr_scene_output_commit(m->scene_output, NULL);
|
||||||
clock_gettime(CLOCK_MONOTONIC, &now);
|
clock_gettime(CLOCK_MONOTONIC, &now);
|
||||||
|
wlr_output_schedule_frame(m->wlr_output);
|
||||||
wlr_scene_output_send_frame_done(m->scene_output, &now);
|
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;
|
struct wlr_output_event_request_state *event = data;
|
||||||
wlr_output_commit_state(event->output, event->state);
|
wlr_output_commit_state(event->output, event->state);
|
||||||
|
wlr_output_schedule_frame(event->output);
|
||||||
updatemons(NULL, NULL);
|
updatemons(NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user