From cf865a0ba4f5d85bbc51583df02b8cced8b3d4c8 Mon Sep 17 00:00:00 2001 From: HF Date: Fri, 16 Jul 2021 12:06:20 +0200 Subject: [PATCH] better check keypress canvas selection --- src/controls/keypress.js | 11 +++++++---- src/reducers/canvas.js | 4 ---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/controls/keypress.js b/src/controls/keypress.js index 2915a5e..b7d5c71 100644 --- a/src/controls/keypress.js +++ b/src/controls/keypress.js @@ -30,13 +30,16 @@ function onKeyPress(event: KeyboardEvent) { const num = Number(key); if (!Number.isNaN(num) && num > 0) { // switch to canvas on num keys - const { canvases } = store.getState().canvas; + const { canvases, canvasId: curCanvasId } = store.getState().canvas; const canvasIds = Object.keys(canvases).filter((id) => !canvases[id].hid); if (num <= canvasIds.length) { const canvasId = canvasIds[num - 1]; - store.dispatch(selectCanvas(canvasId)); - const canvasName = canvases[canvasId].title; - store.dispatch(notify(t`Switched to ${canvasName}`)); + // eslint-disable-next-line eqeqeq + if (canvasId != curCanvasId) { + store.dispatch(selectCanvas(canvasId)); + const canvasName = canvases[canvasId].title; + store.dispatch(notify(t`Switched to ${canvasName}`)); + } } return; } diff --git a/src/reducers/canvas.js b/src/reducers/canvas.js index fb5fb4b..575d76e 100644 --- a/src/reducers/canvas.js +++ b/src/reducers/canvas.js @@ -267,10 +267,6 @@ export default function canvasReducer( case 'SELECT_CANVAS': { let { canvasId } = action; const { canvases, prevCanvasCoords, canvasId: prevCanvasId } = state; - if (canvasId === prevCanvasId) { - return state; - } - let canvas = canvases[canvasId]; if (!canvas) { canvasId = DEFAULT_CANVAS_ID;