From 7a4b5b2dea947b3b44db57f2a6b61089283d29b9 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sat, 1 Jan 2022 01:21:28 +0100 Subject: [PATCH] fix moved windows losing props --- src/windowManager.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/windowManager.cpp b/src/windowManager.cpp index aa74164..44c3585 100644 --- a/src/windowManager.cpp +++ b/src/windowManager.cpp @@ -1359,9 +1359,10 @@ void CWindowManager::moveActiveWindowToWorkspace(int workspace) { const auto SAVEDFLOATSTATUS = PWINDOW->getIsFloating(); const auto SAVEDDRAWABLE = PWINDOW->getDrawable(); - closeWindowAllChecks(SAVEDDRAWABLE); + fixWindowOnClose(PWINDOW); - // PWINDOW is dead! + if (const auto WORKSPACE = getWorkspaceByID(PWINDOW->getWorkspaceID()); WORKSPACE && PWINDOW->getFullscreen()) + WORKSPACE->setHasFullscreenWindow(false); changeWorkspaceByID(workspace); @@ -1386,19 +1387,12 @@ void CWindowManager::moveActiveWindowToWorkspace(int workspace) { setFocusedWindow(newLastWindow); } - CWindow newWindow; - newWindow.setDrawable(SAVEDDRAWABLE); - newWindow.setFirstOpen(false); - addWindowToVectorSafe(newWindow); - - CWindow* PNEWWINDOW = nullptr; if (SAVEDFLOATSTATUS) - PNEWWINDOW = Events::remapFloatingWindow(SAVEDDRAWABLE, NEWMONITOR); + Events::remapFloatingWindow(PWINDOW->getDrawable(), NEWMONITOR); else - PNEWWINDOW = Events::remapWindow(SAVEDDRAWABLE, false, NEWMONITOR); + Events::remapWindow(PWINDOW->getDrawable(), false, NEWMONITOR); - - PNEWWINDOW->setDefaultSize(SAVEDDEFAULTSIZE); + PWINDOW->setDefaultSize(SAVEDDEFAULTSIZE); } void CWindowManager::moveActiveWindowTo(char dir) {