From e1d74f78a57e5d6e21efa8de4bed6073f645612b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aleksander=20=C5=81ukasz?= Date: Mon, 25 Nov 2013 14:43:03 +0100 Subject: [PATCH] Handle root node sent to findCanvasElementInParent --- .../modules/documentCanvas/canvas/utils.js | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/editor/modules/documentCanvas/canvas/utils.js b/src/editor/modules/documentCanvas/canvas/utils.js index 9f5ee46..caa9af4 100644 --- a/src/editor/modules/documentCanvas/canvas/utils.js +++ b/src/editor/modules/documentCanvas/canvas/utils.js @@ -35,13 +35,21 @@ var findCanvasElement = function(node) { * and it lost reference to its parent (but we may still have it on canvas). */ var findCanvasElementInParent = function(wlxmlChildNode, wlxmlParentNode) { - var parentElement = findCanvasElement(wlxmlParentNode), - toret; - parentElement.children().forEach(function(child) { - if(child.data('wlxmlNode').sameNode(wlxmlChildNode)) { - toret = child; + var parentElement, toret; + + if(wlxmlParentNode === null) { + toret = wlxmlChildNode.getData('canvasElement'); + if(toret.parent()) { + throw new Error('This should never happen: root canvas element doesn\'t render root document node!'); } - }); + } else { + parentElement = findCanvasElement(wlxmlParentNode); + parentElement.children().forEach(function(child) { + if(child.data('wlxmlNode').sameNode(wlxmlChildNode)) { + toret = child; + } + }); + } return toret; }; -- 2.20.1