From e62cc0b222f099086398c47f5b6742d4d0f6f227 Mon Sep 17 00:00:00 2001
From: Scott Moreau <oreaus@gmail.com>
Date: Sat, 28 Sep 2024 13:21:10 -0600
Subject: [PATCH 31/34] subsurface: Fix damage issue

If a subsurface is created and then becomes smaller without repositioning,
the old larger size was never damaged, leaving artifacts on the output.
---
 src/view/wlr-subsurface-controller.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/view/wlr-subsurface-controller.cpp b/src/view/wlr-subsurface-controller.cpp
index b5ba23b2..2c3326e2 100644
--- a/src/view/wlr-subsurface-controller.cpp
+++ b/src/view/wlr-subsurface-controller.cpp
@@ -90,6 +90,9 @@ bool wf::wlr_subsurface_root_node_t::update_offset(bool apply_damage)
     } else if (changed)
     {
         set_offset(offset);
+    } else if (apply_damage)
+    {
+        scene::damage_node(this, get_bounding_box());
     }
 
     return changed;
-- 
2.45.2

