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;