diff --git a/app/escriptorium/static/js/baseline.editor.js b/app/escriptorium/static/js/baseline.editor.js index 9606e3e50fa668a3c1ddfee976a8217d68c95221..56b36b8a11fdb6a27c729372564b6a90a95ceed4 100644 --- a/app/escriptorium/static/js/baseline.editor.js +++ b/app/escriptorium/static/js/baseline.editor.js @@ -1177,6 +1177,16 @@ class Segmenter { onMouseDown(event) { if (isRightClick(event.event)) return; if (this.selecting) { + if (this.mode == 'regions') { + // if what we are selecting is already selected, check there isn't something below + for (let i=0; i<this.regions.length; i++) { + if (this.selecting.selected && this.regions[i] != this.selecting) { + let hit = this.regions[i].polygonPath.hitTest(event.point); + if (hit) this.selecting = this.regions[i]; + break; + } + } + } // selection if (event.event.shiftKey) { this.selecting.toggleSelect();