diff -r d52514d4908c -r 44ced96727f7 src_js/iconolab-bundle/src/components/cutout/svgboard.js --- a/src_js/iconolab-bundle/src/components/cutout/svgboard.js Wed Aug 31 18:22:29 2016 +0200 +++ b/src_js/iconolab-bundle/src/components/cutout/svgboard.js Wed Aug 31 18:59:08 2016 +0200 @@ -353,7 +353,6 @@ var attachPointEvents = function (paper) { if (readOnly) { return; } - var clickTimeout = null; var preventClick = false; paper.dblclick( function (e) { @@ -373,21 +372,32 @@ return false; }); - var clickHandler = function (e) { + var computeOffset = function (e) { + var target = e.target || e.srcElement; + var rect = target.getBoundingClientRect(); + var offsetX = e.clientX - rect.left; + var offsetY = e.clientY - rect.top; + return {x: offsetX, y: offsetX}; + } + + var clickHandler = function (offsetX, offsetY) { + if (preventClick) { return; } if (drawingMode === RECT_MODE) { return true; } if (!ENABLE_NEW_NODE) { return true; } - createPoint(paper, e.offsetX, e.offsetY, pointData); + createPoint(paper, offsetX, offsetY, pointData); clickTimeout = null; preventClick = false; } paper.click(function (e) { if (clickTimeout) { return; } - clickTimeout = setTimeout(clickHandler.bind(this, e), 190); + var offsetX = e.offsetX; + var offsetY = e.offsetY; + clickTimeout = setTimeout(clickHandler.bind(this, offsetX, offsetY), 190); }); };