From 1038a12a841bbacec60cd8a73a93ecf1658ea8a5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aleksander=20=C5=81ukasz?= Date: Mon, 23 Jun 2014 11:40:21 +0200 Subject: [PATCH 1/1] smartxml: fix - handle invalid params.node value --- src/smartxml/fragments.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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); -- 2.20.1