deco/border: fix damageEntire

This commit is contained in:
Vaxry 2026-02-28 22:03:14 +00:00
parent c2bed4103c
commit 85c2764f5e
No known key found for this signature in database
GPG key ID: 665806380871D640

View file

@ -117,23 +117,12 @@ void CHyprBorderDecoration::damageEntire() {
if (!validMapped(m_window) || m_window->m_fullscreenState.internal == FSMODE_FULLSCREEN)
return;
auto surfaceBox = m_window->getWindowMainSurfaceBox();
const auto ROUNDING = m_window->rounding();
const auto ROUNDINGSIZE = ROUNDING - M_SQRT1_2 * ROUNDING + 2;
const auto BORDERSIZE = m_window->getRealBorderSize() + 1;
const auto GLOBAL_BOX = assignedBoxGlobal();
const auto ROUNDING = m_window->rounding();
const auto BORDERSIZE = m_window->getRealBorderSize() + 1;
const auto PWINDOWWORKSPACE = m_window->m_workspace;
if (PWINDOWWORKSPACE && PWINDOWWORKSPACE->m_renderOffset->isBeingAnimated() && !m_window->m_pinned)
surfaceBox.translate(PWINDOWWORKSPACE->m_renderOffset->value());
surfaceBox.translate(m_window->m_floatingOffset);
CBox surfaceBoxExpandedBorder = surfaceBox;
surfaceBoxExpandedBorder.expand(BORDERSIZE);
CBox surfaceBoxShrunkRounding = surfaceBox;
surfaceBoxShrunkRounding.expand(-ROUNDINGSIZE);
CRegion borderRegion(surfaceBoxExpandedBorder);
borderRegion.subtract(surfaceBoxShrunkRounding);
CRegion borderRegion(GLOBAL_BOX);
borderRegion.subtract(GLOBAL_BOX.copy().expand(-(BORDERSIZE + ROUNDING)));
for (auto const& m : g_pCompositor->m_monitors) {
if (!g_pHyprRenderer->shouldRenderWindow(m_window.lock(), m)) {