From 2df0d034bc4a18fafb3524401eeeceaa6b23e753 Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Fri, 21 Apr 2023 12:36:55 +0000 Subject: [PATCH] Fix dragging cursor being forced on fullscreen windows (#2115) Fix two edge cases causing the dragging mouse cursor to be forced on fullscreen windows: - hovering over a window border and running the fullscreen dispatcher - moving mouse focus from a monitor with the resize cursor set to a different monitor with a fullscreen window --- src/managers/input/InputManager.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 5a0639a1..bfe88678 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -338,8 +338,12 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) { if (pFoundWindow) { // change cursor icon if hovering over border - if (*PRESIZEONBORDER && *PRESIZECURSORICON && !pFoundWindow->m_bIsFullscreen && !pFoundWindow->hasPopupAt(mouseCoords)) { - setCursorIconOnBorder(pFoundWindow); + if (*PRESIZEONBORDER && *PRESIZECURSORICON) { + if (!pFoundWindow->m_bIsFullscreen && !pFoundWindow->hasPopupAt(mouseCoords)) { + setCursorIconOnBorder(pFoundWindow); + } else if (m_eBorderIconDirection != BORDERICON_NONE) { + unsetCursorImage(); + } } // if we're on an input deco, reset cursor. Don't on overridden