diff options
| author | Vaxry <vaxry@vaxry.net> | 2024-06-12 18:39:52 +0200 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2024-06-12 18:39:52 +0200 |
| commit | a99f314106cd2ae45e12e7c4012ab68026cf5522 (patch) | |
| tree | 021038048749812232b904fada77519915dce1d8 /src/managers/input/InputManager.cpp | |
| parent | 9d7d5ec3c8ea3550ca3053a7a26e97231ad6fde9 (diff) | |
input: fallback to main surface if not found on window
fixes #6421
Diffstat (limited to 'src/managers/input/InputManager.cpp')
| -rw-r--r-- | src/managers/input/InputManager.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index ed8e834c..3aa8d2ae 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -351,6 +351,10 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) { if (pFoundWindow) { if (!pFoundWindow->m_bIsX11) { foundSurface = g_pCompositor->vectorWindowToSurface(mouseCoords, pFoundWindow, surfaceCoords); + if (!foundSurface) { + foundSurface = pFoundWindow->m_pWLSurface->resource(); + surfacePos = pFoundWindow->m_vRealPosition.value(); + } } else { foundSurface = pFoundWindow->m_pWLSurface->resource(); surfacePos = pFoundWindow->m_vRealPosition.value(); |
