From: Aleksander Ɓukasz Date: Mon, 23 Jun 2014 09:40:21 +0000 (+0200) Subject: smartxml: fix - handle invalid params.node value X-Git-Url: https://git.mdrn.pl/fnpeditor.git/commitdiff_plain/1038a12a841bbacec60cd8a73a93ecf1658ea8a5?ds=sidebyside;hp=160268708973c7ba08f277a9d2e7cf8b9aeed1c8 smartxml: fix - handle invalid params.node value --- diff --git a/src/smartxml/fragments.js b/src/smartxml/fragments.js index 62a7a4c..b1befdf 100644 --- a/src/smartxml/fragments.js +++ b/src/smartxml/fragments.js @@ -19,7 +19,7 @@ $.extend(Fragment.prototype, { var NodeFragment = function(document, params) { Fragment.call(this, document); this.node = params.node; - this.nodePath = params.node.getPath(); + this.nodePath = this.isValid() ? params.node.getPath() : null; }; NodeFragment.prototype = Object.create(Fragment.prototype); $.extend(NodeFragment.prototype, { @@ -27,14 +27,16 @@ $.extend(NodeFragment.prototype, { return this.document.containsNode(this.node); }, restoreFromPaths: function() { - this.node = this.document.getNodeByPath(this.nodePath); + if(this.nodePath) { + this.node = this.document.getNodeByPath(this.nodePath); + } } }); var CaretFragment = function(document, params) { - NodeFragment.call(this, document, params); this.offset = params.offset; + NodeFragment.call(this, document, params); }; CaretFragment.prototype = Object.create(NodeFragment.prototype);