diff --git a/src/foundry_imports.js b/src/foundry_imports.js index 4eac54b..741bb58 100644 --- a/src/foundry_imports.js +++ b/src/foundry_imports.js @@ -134,9 +134,7 @@ function scheduleMeasurement(destination, event) { this.measure(destination, {snap: !originalEvent.shiftKey}); event._measureTime = Date.now(); this._state = Ruler.STATES.MEASURING; - window.clearTimeout(this.deferredMeasurementTimeout); - this.deferredMeasurementTimeout = undefined; - this.deferredMeasurementResolve?.(); + cancelScheduledMeasurement.call(this); } else { this.deferredMeasurementData = {destination, event}; @@ -147,6 +145,12 @@ function scheduleMeasurement(destination, event) { } } +export function cancelScheduledMeasurement() { + window.clearTimeout(this.deferredMeasurementTimeout); + this.deferredMeasurementTimeout = undefined; + this.deferredMeasurementResolve?.(); +} + // This is a modified version of Ruler.measure form foundry 0.7.9 export function measure(destination, options={}) { const isToken = this.draggedEntity instanceof Token; diff --git a/src/ruler.js b/src/ruler.js index 381956c..7d9f4ef 100644 --- a/src/ruler.js +++ b/src/ruler.js @@ -1,4 +1,4 @@ -import {measure} from "./foundry_imports.js" +import {cancelScheduledMeasurement, measure} from "./foundry_imports.js" import {getMovementHistory} from "./movement_tracking.js"; import {settingsKey} from "./settings.js"; import {getSnapPointForEntity, setSnapParameterOnOptions} from "./util.js"; @@ -16,6 +16,7 @@ export class DragRulerRuler extends Ruler { this.previousWaypoints = []; this.previousLabels.removeChildren().forEach(c => c.destroy()); this.dragRulerRanges = undefined; + cancelScheduledMeasurement.call(this); } async moveToken(event) {