diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-04-05 18:29:58 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-04-05 18:29:58 +0200 |
| commit | ddcd4fb767afe8490a239ab019012a78d368eb5e (patch) | |
| tree | 6739da91be9e642d269c9c9e2775413315696e7e /src/Compositor.cpp | |
| parent | dcb6fc269a1360f6d46836d34db4964779ce5879 (diff) | |
Mostly fixes #5
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 0bf2ffcf..bf36bf89 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -361,6 +361,14 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) { return; } + if (m_pLastWindow == pWindow) + return; + + if (windowValidMapped(m_pLastWindow) && m_pLastWindow->m_bIsX11) { + wlr_seat_keyboard_notify_clear_focus(m_sSeat.seat); + wlr_seat_pointer_clear_focus(m_sSeat.seat); + } + const auto PWINDOWSURFACE = pSurface ? pSurface : g_pXWaylandManager->getWindowSurface(pWindow); focusSurface(PWINDOWSURFACE, pWindow); |
