diff --git a/types/scene/wlr_scene.c b/types/scene/wlr_scene.c index 5b050da0..5d1b8066 100644 --- a/types/scene/wlr_scene.c +++ b/types/scene/wlr_scene.c @@ -1504,8 +1504,10 @@ bool wlr_scene_output_commit(struct wlr_scene_output *scene_output) { scene_output->prev_scanout = scanout; wlr_log(WLR_DEBUG, "Direct scan-out %s", scanout ? "enabled" : "disabled"); - // When exiting direct scan-out, damage everything - wlr_damage_ring_add_whole(&scene_output->damage_ring); + if (!scanout) { + // When exiting direct scan-out, damage everything + wlr_damage_ring_add_whole(&scene_output->damage_ring); + } } if (scanout) {