diff options
Diffstat (limited to 'src/events/Windows.cpp')
| -rw-r--r-- | src/events/Windows.cpp | 4 |
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) |
