From 9fca4b5bc2136f00f81376d76f1074d9a1b9dfdc Mon Sep 17 00:00:00 2001 From: vaxerski Date: Mon, 8 Aug 2022 20:42:14 +0200 Subject: [PATCH] fix lastwindow in focusWindow null --- src/Compositor.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Compositor.cpp b/src/Compositor.cpp index aa5b3e29..c559ebd3 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -615,16 +615,18 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) { } if (!pWindow || !windowValidMapped(pWindow)) { - if (windowValidMapped(m_pLastWindow)) { - updateWindowAnimatedDecorationValues(m_pLastWindow); + const auto PLASTWINDOW = m_pLastWindow; + m_pLastWindow = nullptr; - if (m_pLastWindow->m_phForeignToplevel) - wlr_foreign_toplevel_handle_v1_set_activated(m_pLastWindow->m_phForeignToplevel, false); + if (windowValidMapped(PLASTWINDOW)) { + updateWindowAnimatedDecorationValues(PLASTWINDOW); + + if (PLASTWINDOW->m_phForeignToplevel) + wlr_foreign_toplevel_handle_v1_set_activated(PLASTWINDOW->m_phForeignToplevel, false); } wlr_seat_keyboard_notify_clear_focus(m_sSeat.seat); - m_pLastWindow = nullptr; m_pLastFocus = nullptr; return; }