From 041ec32c10d22cc5a3c9ded64717a9dca7c69ef2 Mon Sep 17 00:00:00 2001 From: Mitchell Ludwig Date: Sun, 2 Nov 2025 20:27:45 -0700 Subject: [PATCH] Fixing race condition --- src/lib/litegraph/src/CanvasPointer.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/litegraph/src/CanvasPointer.ts b/src/lib/litegraph/src/CanvasPointer.ts index b4175e9531..a6cd0b8e81 100644 --- a/src/lib/litegraph/src/CanvasPointer.ts +++ b/src/lib/litegraph/src/CanvasPointer.ts @@ -2,6 +2,10 @@ import type { CompassCorners } from './interfaces' import { dist2 } from './measure' import type { CanvasPointerEvent } from './types/events' +function isWindowBlurred() { + return !document.hasFocus() || document.visibilityState !== 'visible' +} + /** * Allows click and drag actions to be declared ahead of time during a pointerdown event. * @@ -189,8 +193,8 @@ export class CanvasPointer { const { eDown } = this if (!eDown) return - // No buttons down, but eDown exists - clean up & leave - if (!e.buttons) { + // Window does not have focus, so reset the pointer state. + if (isWindowBlurred()) { this.reset() return }