From 8b1d6e3009c540457068e23e6c2bc201d20ce4d1 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sat, 25 Jan 2025 21:57:58 +0000 Subject: [PATCH] subsurface: damage the entire parent on size change the previous method doesn't exactly work, idk todo fix fixes #8784 --- src/desktop/Subsurface.cpp | 17 +++++++++++++---- 1 file 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); } }