Don’t throw error for unlinked nodes in Chrome
evt.target in Chrome is the abandoned shape, not connected to the DOM. evt.target in Firefox is the svgroot. Add checks to ensure that no matter what node is presented by the event, there are no property calls to null or undefined. Fixes issue #232.
This commit is contained in:
@@ -2205,13 +2205,14 @@ var mouseUp = function (evt) {
|
||||
// if this element is in a group, go up until we reach the top-level group
|
||||
// just below the layer groups
|
||||
// TODO: once we implement links, we also would have to check for <a> elements
|
||||
while (t.parentNode.parentNode.tagName === 'g') {
|
||||
while (t && t.parentNode && t.parentNode.parentNode && t.parentNode.parentNode.tagName === 'g') {
|
||||
t = t.parentNode;
|
||||
}
|
||||
// if we are not in the middle of creating a path, and we've clicked on some shape,
|
||||
// then go to Select mode.
|
||||
// WebKit returns <div> when the canvas is clicked, Firefox/Opera return <svg>
|
||||
if ((currentMode !== 'path' || !drawnPath) &&
|
||||
t && t.parentNode &&
|
||||
t.parentNode.id !== 'selectorParentGroup' &&
|
||||
t.id !== 'svgcanvas' && t.id !== 'svgroot'
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user