diff --git a/src/components/App.tsx b/src/components/App.tsx index 9966bc69..d80f6f8b 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -2999,22 +2999,24 @@ class App extends React.Component { ); } if (isEraserActive(this.state)) { - const scenePointer = viewportCoordsToSceneCoords( - { clientX: event.clientX, clientY: event.clientY }, - this.state, + const draggedDistance = distance2d( + this.lastPointerDown!.clientX, + this.lastPointerDown!.clientY, + this.lastPointerUp!.clientX, + this.lastPointerUp!.clientY, ); - const hitElement = this.getElementAtPosition( - scenePointer.x, - scenePointer.y, - ); - const pointerDownEvent = this.initialPointerDownState(event); - pointerDownEvent.hit.element = hitElement; - this.eraseElements(pointerDownEvent); - if (isTouchScreen) { - this.hitLinkElement = this.getElementLinkAtPosition( - scenePointer, - hitElement, + if (draggedDistance === 0) { + const scenePointer = viewportCoordsToSceneCoords( + { clientX: event.clientX, clientY: event.clientY }, + this.state, ); + const hitElement = this.getElementAtPosition( + scenePointer.x, + scenePointer.y, + ); + const pointerDownEvent = this.initialPointerDownState(event); + pointerDownEvent.hit.element = hitElement; + this.eraseElements(pointerDownEvent); } } if (