chiark / gitweb /
js: Handle special_count of >1, do not pick 4 topmost whatever
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 3 Apr 2021 23:40:54 +0000 (00:40 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 4 Apr 2021 19:07:53 +0000 (20:07 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
templates/script.ts

index ab73bb94da850db7f7e34ff48abc3a1bc3e55442..bc1cb8354979dcdfcf1d3d60aa62614d4ff255e5 100644 (file)
@@ -846,6 +846,7 @@ function drag_mousedown(e : MouseEvent, shifted: boolean) {
     }
   } else {
     // special_count > 0
+    let clickpos = mouseevent_pos(e);
     clicked = [];
     let uelem = defs_marker;
     for (let i=0; i<special_count; i++) {
@@ -856,6 +857,9 @@ function drag_mousedown(e : MouseEvent, shifted: boolean) {
       }
       let piece = uelem.dataset.piece!;
       let p = pieces[piece];
+      if (!p_bbox_contains(p, clickpos)) {
+       continue;
+      }
       if (i > 0) {
        if (p.pinned != pinned ||
            p.held   != held) {