summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authornyx <nnyyxxxx@protonmail.com>2025-03-30 17:28:12 -0400
committerGitHub <noreply@github.com>2025-03-30 23:28:12 +0200
commit075bbecabd6d41c02ebb823d91774a95cc9d50da (patch)
tree9d05f332e3e5e6569e18532768bd3a0b4589739c /src/Compositor.cpp
parent8aaffda969bcff6708b47fab776ea45979ea7d9f (diff)
core: fix artifacts when fullscreening (#9778)
* core: fix artifacts when fullscreening fixes an issue where fullscreening a floating window that is between two monitors causes artifacts to appear on the monitor where it did not become fullscreened on * e
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 8a3a8cbf..90e03bcd 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -2315,6 +2315,9 @@ void CCompositor::setWindowFullscreenState(const PHLWINDOW PWINDOW, SFullscreenS
const eFullscreenMode CURRENT_EFFECTIVE_MODE = (eFullscreenMode)std::bit_floor((uint8_t)PWINDOW->m_sFullscreenState.internal);
const eFullscreenMode EFFECTIVE_MODE = (eFullscreenMode)std::bit_floor((uint8_t)state.internal);
+ if (PWINDOW->m_bIsFloating && CURRENT_EFFECTIVE_MODE == FSMODE_NONE && EFFECTIVE_MODE != FSMODE_NONE)
+ g_pHyprRenderer->damageWindow(PWINDOW);
+
if (*PALLOWPINFULLSCREEN && !PWINDOW->m_bPinFullscreened && !PWINDOW->isFullscreen() && PWINDOW->m_bPinned) {
PWINDOW->m_bPinned = false;
PWINDOW->m_bPinFullscreened = true;