summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/events/Windows.cpp')
-rw-r--r--src/events/Windows.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index af0867a1..f41300fa 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -56,7 +56,6 @@ void Events::listener_unmapWindow(wl_listener* listener, void* data) {
g_pCompositor->m_pLastFocus = nullptr;
PWINDOW->m_bMappedX11 = false;
- PWINDOW->m_bIsMapped = false;
// remove the fullscreen window status from workspace if we closed it
const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(PWINDOW->m_iWorkspaceID);
@@ -66,6 +65,9 @@ void Events::listener_unmapWindow(wl_listener* listener, void* data) {
g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW);
+ // do this after onWindowRemoved because otherwise it'll think the window is invalid
+ PWINDOW->m_bIsMapped = false;
+
// refocus on a new window
// TODO: investigate.
// If a parent window has focus, any popups (XWayland) will be broken (they will disappear instantly)