From 9fb6b5d96bfd242990b1bf08bd42d24bed8fb4bc Mon Sep 17 00:00:00 2001 From: 7mile Date: Thu, 19 Jun 2025 04:48:51 +0800 Subject: [PATCH] input: Fix incorrect localcoords with a surface above an XWayland window (#10773) --- src/managers/input/InputManager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index e0957abfb..f3f1905d3 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -322,7 +322,8 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus, bool mouse) { const auto PWINDOW = HLSurface->getWindow(); surfacePos = BOX->pos(); pFoundLayerSurface = HLSurface->getLayer(); - pFoundWindow = !PWINDOW || PWINDOW->isHidden() ? g_pCompositor->m_lastWindow.lock() : PWINDOW; + if (!pFoundLayerSurface) + pFoundWindow = !PWINDOW || PWINDOW->isHidden() ? g_pCompositor->m_lastWindow.lock() : PWINDOW; } else // reset foundSurface, find one normally foundSurface = nullptr; } else // reset foundSurface, find one normally