summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2022-08-08 20:21:11 +0200
committervaxerski <vaxry@vaxry.net>2022-08-08 20:21:11 +0200
commitbf9d358d3b73416ac76812038534863a9e245d85 (patch)
tree9174194184930cead5fa7217ae5e1267099d145c /src/Compositor.cpp
parent9532ff42871615d3293f5fb679282e3423ff380d (diff)
fix refocus shenanigans with window data
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp10
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;
}