From 00c0669433ce8f5afdfbda9e73d208e29ebc6a28 Mon Sep 17 00:00:00 2001 From: Aaron Dodson Date: Wed, 19 Aug 2026 08:58:15 -0700 Subject: [PATCH] fix: Fix a bug that could cause unexpected block movement when inserting blocks from the toolbox --- packages/blockly/core/keyboard_nav/keyboard_mover.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/blockly/core/keyboard_nav/keyboard_mover.ts b/packages/blockly/core/keyboard_nav/keyboard_mover.ts index 691a74c5993..c67a8bb8ecb 100644 --- a/packages/blockly/core/keyboard_nav/keyboard_mover.ts +++ b/packages/blockly/core/keyboard_nav/keyboard_mover.ts @@ -75,6 +75,9 @@ export class KeyboardMover { static mover = new KeyboardMover(); + /** Whether or not something is currently being moved. */ + private moving = false; + // Constructor is private to keep this class a singleton. private constructor() {} @@ -94,7 +97,7 @@ export class KeyboardMover { * @returns True iff a workspace element is being moved. */ isMoving() { - return !!this.draggable; + return this.moving; } /** @@ -106,7 +109,7 @@ export class KeyboardMover { */ startMove(draggable: IDraggable, event?: KeyboardEvent) { if (!this.canMove(draggable) || this.isMoving()) return false; - + this.moving = true; const DraggerClass = registry.getClassFromOptions( registry.Type.BLOCK_DRAGGER, draggable.workspace.options, @@ -354,6 +357,7 @@ export class KeyboardMover { this.dragger = undefined; this.startLocation = undefined; this.totalDelta = new Coordinate(0, 0); + this.moving = false; } /**