diff --git a/CHANGELOG.md b/CHANGELOG.md index da42221bc..634799e4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Improvements - Better detect available memory in containers ([#1532](../../pull/1532)) +- Reject the promise from a canceled annotation ([#1535](../../pull/1535)) ### Changes - Log more when saving annotations ([#1525](../../pull/1525)) diff --git a/girder_annotation/girder_large_image_annotation/web_client/views/imageViewerWidget/geojs.js b/girder_annotation/girder_large_image_annotation/web_client/views/imageViewerWidget/geojs.js index 99e245fde..9fb9f0589 100644 --- a/girder_annotation/girder_large_image_annotation/web_client/views/imageViewerWidget/geojs.js +++ b/girder_annotation/girder_large_image_annotation/web_client/views/imageViewerWidget/geojs.js @@ -892,12 +892,14 @@ var GeojsImageViewerWidgetExtension = function (viewer) { } ); layer.mode(type, undefined, options.modeOptions); - if (options.signalModeChange) { - layer.geoOn(window.geo.event.annotation.mode, (evt) => { - layer.geoOff(window.geo.event.annotation.mode); + layer.geoOn(window.geo.event.annotation.mode, (evt) => { + layer.geoOff(window.geo.event.annotation.state); + layer.geoOff(window.geo.event.annotation.mode); + if (options.signalModeChange) { events.trigger('li:drawModeChange', {event: evt}); - }); - } + } + defer.reject(); + }); return defer.promise(); },