From f148b96beae2f6e1a0bf94292ab6b6f595228140 Mon Sep 17 00:00:00 2001 From: Indy Ray Date: Sat, 1 Mar 2025 07:53:30 -0800 Subject: [PATCH] input: Provide a non-zero time for button release triggered during window unmap. (#9513) It doesn't seem that this is actually required, but it seems more consistant with other areas, such as in CVirtualKeyboardV1Resource::releasePressed. --- src/managers/input/InputManager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 1d16f915..dffbddc2 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -1707,8 +1707,11 @@ void CInputManager::releaseAllMouseButtons() { if (PROTO::data->dndActive()) return; + timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + for (auto const& mb : buttonsCopy) { - g_pSeatManager->sendPointerButton(0, mb, WL_POINTER_BUTTON_STATE_RELEASED); + g_pSeatManager->sendPointerButton(now.tv_sec * 1000 + now.tv_nsec / 1000000, mb, WL_POINTER_BUTTON_STATE_RELEASED); } m_lCurrentlyHeldButtons.clear();