From 83f1729d838f03198a18b0aec4a7d16a3ded3b51 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Thu, 9 Jun 2022 15:47:16 -0500 Subject: [PATCH] Reset mouse state when switching tabs Fixes #3639 --- .../@node-red/editor-client/src/js/ui/view.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js index edbef0709..7054862df 100755 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js @@ -378,6 +378,9 @@ RED.view = (function() { drag_lines = []; RED.events.on("workspace:change",function(event) { + // Just in case the mouse left the workspace whilst doing an action, + // put us back into default mode so the refresh works + mouse_mode = 0 if (event.old !== 0) { workspaceScrollPositions[event.old] = { left:chart.scrollLeft(), @@ -1744,7 +1747,9 @@ RED.view = (function() { function canvasMouseUp() { lastClickPosition = [d3.event.offsetX/scaleFactor,d3.event.offsetY/scaleFactor]; - if (RED.view.DEBUG) { console.warn("canvasMouseUp", mouse_mode); } + if (RED.view.DEBUG) { + console.warn("canvasMouseUp", { mouse_mode, point: d3.mouse(this), event: d3.event }); + } var i; var historyEvent; if (mouse_mode === RED.state.PANNING) { @@ -3588,6 +3593,9 @@ RED.view = (function() { function portMouseOutProxy(e) { portMouseOut(d3.select(this), this.__data__,this.__portType__,this.__portIndex__, e); } function linkMouseDown(d) { + if (RED.view.DEBUG) { + console.warn("linkMouseDown", { mouse_mode, point: d3.mouse(this), event: d3.event }); + } if (mouse_mode === RED.state.SELECTING_NODE) { d3.event.stopPropagation(); return;