From 5a2f438b7115741c41ed429a2a0360d0e5f4b5a9 Mon Sep 17 00:00:00 2001 From: Chris Lewin Date: Mon, 5 Aug 2024 14:15:59 +0100 Subject: [PATCH] Fix mouse cursor getting stuck in dragging mode when UI is hidden --- src/ui.js | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/src/ui.js b/src/ui.js index 4567cca..19088c9 100644 --- a/src/ui.js +++ b/src/ui.js @@ -335,22 +335,7 @@ export function update(inputs, uiIsHidden) } - // Set mouse cursor - if(g_mouseOverObject) - { - if(g_mouseOverZone === 'translation') - { - g_vectorCanvas.style.cursor = g_dragging? 'grabbing' : 'grab'; - } - else if(g_mouseOverZone === 'rotation') - { - g_vectorCanvas.style.cursor = 'url("./data/rotate.svg") 16 16, pointer'; - } - } - else - { - g_vectorCanvas.style.cursor = 'auto'; - } + @@ -417,8 +402,29 @@ export function update(inputs, uiIsHidden) } } } + else + { + g_mouseOverObject = undefined; + g_grabbedObject = undefined; + g_dragging = false; + } - + // Set mouse cursor + if(g_mouseOverObject) + { + if(g_mouseOverZone === 'translation') + { + g_vectorCanvas.style.cursor = g_dragging? 'grabbing' : 'grab'; + } + else if(g_mouseOverZone === 'rotation') + { + g_vectorCanvas.style.cursor = 'url("./data/rotate.svg") 16 16, pointer'; + } + } + else + { + g_vectorCanvas.style.cursor = 'auto'; + } if(inputs.isMouseDown) {