diff options
| author | nyx <nnyyxxxx@protonmail.com> | 2025-03-30 17:28:12 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-30 23:28:12 +0200 |
| commit | 075bbecabd6d41c02ebb823d91774a95cc9d50da (patch) | |
| tree | 9d05f332e3e5e6569e18532768bd3a0b4589739c /src/Compositor.cpp | |
| parent | 8aaffda969bcff6708b47fab776ea45979ea7d9f (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.cpp | 3 |
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; |
