mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-08 19:05:58 +01:00
fix refocus shenanigans with window data
This commit is contained in:
parent
9532ff4287
commit
bf9d358d3b
2 changed files with 11 additions and 3 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -210,9 +210,7 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
|
|||
wlr_seat_pointer_clear_focus(g_pCompositor->m_sSeat.seat);
|
||||
|
||||
if (refocus) { // if we are forcing a refocus, and we don't find a surface, clear the kb focus too!
|
||||
g_pCompositor->focusSurface(nullptr);
|
||||
|
||||
g_pCompositor->m_pLastWindow = nullptr;
|
||||
g_pCompositor->focusWindow(nullptr);
|
||||
}
|
||||
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue