diff options
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 844b43be..aa5b3e29 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -615,7 +615,17 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) { } if (!pWindow || !windowValidMapped(pWindow)) { + if (windowValidMapped(m_pLastWindow)) { + updateWindowAnimatedDecorationValues(m_pLastWindow); + + if (m_pLastWindow->m_phForeignToplevel) + wlr_foreign_toplevel_handle_v1_set_activated(m_pLastWindow->m_phForeignToplevel, false); + } + wlr_seat_keyboard_notify_clear_focus(m_sSeat.seat); + + m_pLastWindow = nullptr; + m_pLastFocus = nullptr; return; } |
