summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-06-12 18:39:52 +0200
committerVaxry <vaxry@vaxry.net>2024-06-12 18:39:52 +0200
commita99f314106cd2ae45e12e7c4012ab68026cf5522 (patch)
tree021038048749812232b904fada77519915dce1d8 /src/managers/input/InputManager.cpp
parent9d7d5ec3c8ea3550ca3053a7a26e97231ad6fde9 (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.cpp4
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();