wlr_scene: Schedule new frame for WLR_SCENE_DEBUG_DAMAGE_HIGHLIGHT in output commit handler

We were doing it too early before and the output would disregard a
scheduled frame if called when we were first putting together the output
state

(cherry picked from commit 1dc44a1afe)
This commit is contained in:
Alexander Orzechowski 2024-04-23 16:14:36 -04:00 committed by Simon Zeni
parent 18b290de21
commit 365b3d271a

View file

@ -1281,6 +1281,11 @@ static void scene_output_handle_commit(struct wl_listener *listener, void *data)
WLR_OUTPUT_STATE_ENABLED)) {
scene_output_update_geometry(scene_output, force_update);
}
if (scene_output->scene->debug_damage_option == WLR_SCENE_DEBUG_DAMAGE_HIGHLIGHT &&
!wl_list_empty(&scene_output->damage_highlight_regions)) {
wlr_output_schedule_frame(scene_output->output);
}
}
static void scene_output_handle_damage(struct wl_listener *listener, void *data) {
@ -1893,11 +1898,6 @@ bool wlr_scene_output_build_state(struct wlr_scene_output *scene_output,
wlr_buffer_unlock(buffer);
output_state_apply_damage(&render_data, state);
if (debug_damage == WLR_SCENE_DEBUG_DAMAGE_HIGHLIGHT &&
!wl_list_empty(&scene_output->damage_highlight_regions)) {
wlr_output_schedule_frame(scene_output->output);
}
return true;
}