From 5f620ee7ca2a94ccc4ae6caddd071da657ddf21e Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Fri, 20 May 2022 15:02:51 +0200 Subject: [PATCH] fix fullscreen request loops --- src/events/Windows.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index a6ae6c5d..89f359e6 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -282,7 +282,14 @@ void Events::listener_setTitleWindow(void* owner, void* data) { void Events::listener_fullscreenWindow(void* owner, void* data) { CWindow* PWINDOW = (CWindow*)owner; - g_pLayoutManager->getCurrentLayout()->fullscreenRequestForWindow(PWINDOW); + if (!PWINDOW->m_bIsX11) { + const auto REQUESTED = &PWINDOW->m_uSurface.xdg->toplevel->requested; + + if (REQUESTED->fullscreen != PWINDOW->m_bIsFullscreen) + g_pLayoutManager->getCurrentLayout()->fullscreenRequestForWindow(PWINDOW); + } else { + g_pLayoutManager->getCurrentLayout()->fullscreenRequestForWindow(PWINDOW); + } Debug::log(LOG, "Window %x fullscreen to %i", PWINDOW, PWINDOW->m_bIsFullscreen);