Cancel scheudled measurements then the ruler is being cleared

This commit is contained in:
Manuel Vögele
2021-07-30 12:40:32 +02:00
parent e1265ad6fb
commit 461e1d0818
2 changed files with 9 additions and 4 deletions
+7 -3
View File
@@ -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;
+2 -1
View File
@@ -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) {