From 6b3f9a672397c866e4b22056ba4bd1ae93726cbd Mon Sep 17 00:00:00 2001 From: AbhinavKRNarayan <115357208+AbhinavKRN@users.noreply.github.com> Date: Fri, 9 Aug 2024 03:47:34 +0530 Subject: [PATCH] fix(touch): prevent infinite loop on multi-touch drag (#8470) * Change in gesture.ts * prettier --- core/gesture.ts | 11 +++++++++-- package-lock.json | 3 ++- package.json | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core/gesture.ts b/core/gesture.ts index 7970ed006..0aefba47d 100644 --- a/core/gesture.ts +++ b/core/gesture.ts @@ -599,13 +599,20 @@ export class Gesture { */ handleTouchMove(e: PointerEvent) { const pointerId = Touch.getTouchIdentifierFromEvent(e); - // Update the cache this.cachedPoints.set(pointerId, this.getTouchPoint(e)); if (this.isPinchZoomEnabled && this.cachedPoints.size === 2) { this.handlePinch(e); } else { - this.handleMove(e); + // Handle the move directly instead of calling handleMove + this.updateFromEvent(e); + if (this.workspaceDragger) { + this.workspaceDragger.drag(this.currentDragDeltaXY); + } else if (this.dragger) { + this.dragger.onDrag(this.mostRecentEvent, this.currentDragDeltaXY); + } + e.preventDefault(); + e.stopPropagation(); } } diff --git a/package-lock.json b/package-lock.json index 93b1a3283..0ef6d5021 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ "markdown-tables-to-json": "^0.1.7", "mocha": "^10.0.0", "patch-package": "^8.0.0", - "prettier": "3.3.3", + "prettier": "^3.3.3", "readline-sync": "^1.4.10", "rimraf": "^5.0.0", "typescript": "^5.3.3", @@ -9600,6 +9600,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, diff --git a/package.json b/package.json index 74e3227e5..4df66d662 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "markdown-tables-to-json": "^0.1.7", "mocha": "^10.0.0", "patch-package": "^8.0.0", - "prettier": "3.3.3", + "prettier": "^3.3.3", "readline-sync": "^1.4.10", "rimraf": "^5.0.0", "typescript": "^5.3.3",