diff --git a/inventory/templates/testing.html b/inventory/templates/testing.html
index 51114b4..937afde 100644
--- a/inventory/templates/testing.html
+++ b/inventory/templates/testing.html
@@ -575,7 +575,10 @@ gridEl.addEventListener('pointerleave', (e) => {
gridEl.addEventListener('pointerdown', (e) => {
if (e.button !== 0) return;
+ if (e.target.closest('#toolBar')) return;
+
e.preventDefault();
+ gridEl.setPointerCapture(e.pointerId);
if (e.target.closest('#toolBar')) return;
@@ -608,6 +611,10 @@ gridEl.addEventListener('pointerdown', (e) => {
window.addEventListener('pointerup', (e) => {
if (!currentShape) return;
+ if (gridEl.hasPointerCapture?.(e.pointerId)) {
+ gridEl.releasePointerCapture(e.pointerId);
+ }
+
const { x: snapX, y: snapY } = snapToGrid(e.clientX, e.clientY);
currentShape.x2 = snapX;