From 075bbecabd6d41c02ebb823d91774a95cc9d50da Mon Sep 17 00:00:00 2001 From: nyx Date: Sun, 30 Mar 2025 17:28:12 -0400 Subject: [PATCH] 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 --- src/Compositor.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 8a3a8cbfe..90e03bcd5 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;