From da67f3b07effe12219f10a1a757e4b500034bdf7 Mon Sep 17 00:00:00 2001 From: Simon <10131203+gaomeng1900@users.noreply.github.com> Date: Mon, 13 Apr 2026 20:13:41 +0800 Subject: [PATCH] chore(controller): .disposed guard --- packages/page-controller/src/mask/SimulatorMask.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/page-controller/src/mask/SimulatorMask.ts b/packages/page-controller/src/mask/SimulatorMask.ts index ec986cc..1e6984e 100644 --- a/packages/page-controller/src/mask/SimulatorMask.ts +++ b/packages/page-controller/src/mask/SimulatorMask.ts @@ -132,6 +132,7 @@ export class SimulatorMask extends EventTarget { #moveCursorToTarget() { if (this.#disposed) return + const newX = this.#currentCursorX + (this.#targetCursorX - this.#currentCursorX) * 0.2 const newY = this.#currentCursorY + (this.#targetCursorY - this.#currentCursorY) * 0.2 @@ -159,11 +160,15 @@ export class SimulatorMask extends EventTarget { } setCursorPosition(x: number, y: number) { + if (this.#disposed) return + this.#targetCursorX = x this.#targetCursorY = y } triggerClickAnimation() { + if (this.#disposed) return + this.#cursor.classList.remove(cursorStyles.clicking) // Force reflow to restart animation void this.#cursor.offsetHeight @@ -171,7 +176,7 @@ export class SimulatorMask extends EventTarget { } show() { - if (this.shown) return + if (this.shown || this.#disposed) return this.shown = true this.motion?.start() @@ -189,7 +194,7 @@ export class SimulatorMask extends EventTarget { } hide() { - if (!this.shown) return + if (!this.shown || this.#disposed) return this.shown = false this.motion?.fadeOut()