diff options
| author | outfoxxed <outfoxxed@outfoxxed.me> | 2023-04-21 12:36:55 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-21 13:36:55 +0100 |
| commit | 2df0d034bc4a18fafb3524401eeeceaa6b23e753 (patch) | |
| tree | 6d405f0d858d9bcc4012b065f0d2f8d4165448b2 /src/managers/input/InputManager.cpp | |
| parent | 510db64860fa307e33db5fdb843c6cc5a428b5a4 (diff) | |
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
Diffstat (limited to 'src/managers/input/InputManager.cpp')
| -rw-r--r-- | src/managers/input/InputManager.cpp | 8 |
1 files 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 |
