From 1dc44a1afeb008fe6000c7a446759189a3693793 Mon Sep 17 00:00:00 2001 From: Alexander Orzechowski Date: Tue, 23 Apr 2024 16:14:36 -0400 Subject: [PATCH] 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 --- types/scene/wlr_scene.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/types/scene/wlr_scene.c b/types/scene/wlr_scene.c index a987d5dc..116e28c7 100644 --- a/types/scene/wlr_scene.c +++ b/types/scene/wlr_scene.c @@ -1342,6 +1342,11 @@ static void scene_output_handle_commit(struct wl_listener *listener, void *data) &scene_output->pending_commit_damage, &state->damage); } } + + 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) { @@ -1962,11 +1967,6 @@ bool wlr_scene_output_build_state(struct wlr_scene_output *scene_output, wlr_output_state_set_buffer(state, buffer); wlr_buffer_unlock(buffer); - 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; }