smartxml: fix - handle invalid params.node value
[fnpeditor.git] / src / editor / modules / documentCanvas / canvas / canvas.js
index 8ca71ac..5bd5e85 100644 (file)
@@ -138,8 +138,10 @@ $.extend(Canvas.prototype, Backbone.Events, {
     },
 
     reloadRoot: function() {
     },
 
     reloadRoot: function() {
+        if(this.rootElement) {
+            this.rootElement.detach();
+        }
         this.rootElement = this.createElement(this.wlxmlDocument.root);
         this.rootElement = this.createElement(this.wlxmlDocument.root);
-        this.rootWrapper.empty();
         this.rootWrapper.append(this.rootElement.dom);
     },
 
         this.rootWrapper.append(this.rootElement.dom);
     },
 
@@ -347,7 +349,7 @@ $.extend(Canvas.prototype, Backbone.Events, {
             if(byBrowser && byBrowser.parent().sameNode(nodeToLand)) {
                 return byBrowser;
             }
             if(byBrowser && byBrowser.parent().sameNode(nodeToLand)) {
                 return byBrowser;
             }
-            return e.getVerticallyFirstTextElement();
+            return _.isFunction(e.getVerticallyFirstTextElement) ? e.getVerticallyFirstTextElement({considerChildren: false}) : null;
         }.bind(this);
         var _markAsCurrent = function(element) {
             if(element instanceof documentElement.DocumentTextElement) {
         }.bind(this);
         var _markAsCurrent = function(element) {
             if(element instanceof documentElement.DocumentTextElement) {