summaryrefslogtreecommitdiff
path: root/src/desktop/Subsurface.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-01-25 21:57:58 +0000
committerVaxry <vaxry@vaxry.net>2025-01-25 21:57:58 +0000
commit8b1d6e3009c540457068e23e6c2bc201d20ce4d1 (patch)
tree85cbe3efed4e2dd285d84cd5ecb694de66dcefe5 /src/desktop/Subsurface.cpp
parent445acec2a29adbb30196d8b92f86270a038b7ee5 (diff)
subsurface: damage the entire parent on size change
the previous method doesn't exactly work, idk todo fix fixes #8784
Diffstat (limited to 'src/desktop/Subsurface.cpp')
-rw-r--r--src/desktop/Subsurface.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/desktop/Subsurface.cpp b/src/desktop/Subsurface.cpp
index 9cdf3685..eb18ee39 100644
--- a/src/desktop/Subsurface.cpp
+++ b/src/desktop/Subsurface.cpp
@@ -101,10 +101,19 @@ void CSubsurface::onCommit() {
checkSiblingDamage();
if (m_vLastSize != m_pWLSurface->resource()->current.size) {
- CBox box{COORDS, m_vLastSize};
- g_pHyprRenderer->damageBox(&box);
- m_vLastSize = m_pWLSurface->resource()->current.size;
- box = {COORDS, m_vLastSize};
+ // TODO: fix this
+ // CBox box{COORDS, m_vLastSize};
+ // g_pHyprRenderer->damageBox(&box);
+ // m_vLastSize = m_pWLSurface->resource()->current.size;
+ // box = {COORDS, m_vLastSize};
+ // g_pHyprRenderer->damageBox(&box);
+
+ CBox box;
+ if (m_pPopupParent)
+ box = m_pPopupParent->m_pWLSurface->getSurfaceBoxGlobal().value_or(CBox{});
+ else if (m_pWindowParent)
+ box = m_pWindowParent->getWindowMainSurfaceBox();
+
g_pHyprRenderer->damageBox(&box);
}
}