scene/surface: schedule on frame pacing output

Otherwise wlr_scene_output_send_frame_done() drops frame callbacks
if only parts of a window on a non frame-pacing output is damaged.
This commit is contained in:
Consolatis 2026-04-12 17:18:12 +02:00
parent e8c03e9ce9
commit 195675432b

View file

@ -361,10 +361,9 @@ static void handle_scene_surface_surface_commit(
// the surface anyway.
int lx, ly;
bool enabled = wlr_scene_node_coords(&scene_buffer->node, &lx, &ly);
if (!wl_list_empty(&surface->surface->current.frame_callback_list) &&
surface->buffer->primary_output != NULL && enabled) {
wlr_output_schedule_frame(surface->buffer->primary_output->output);
struct wlr_output *output = get_surface_frame_pacing_output(surface->surface);
if (!wl_list_empty(&surface->surface->current.frame_callback_list) && output && enabled) {
wlr_output_schedule_frame(output);
}
}