editor: remove unused code
[fnpeditor.git] / src / editor / modules / documentCanvas / canvas / canvas.js
index d4e16ad..d8090c8 100644 (file)
@@ -200,7 +200,7 @@ $.extend(Canvas.prototype, Backbone.Events, {
         /* globals MutationObserver */
         var observer = new MutationObserver(function(mutations) {
             mutations.forEach(function(mutation) {
-                if(documentElement.DocumentTextElement.isContentContainer(mutation.target)) {
+                if(canvas.dom[0].contains(mutation.target) && documentElement.DocumentTextElement.isContentContainer(mutation.target)) {
                     observer.disconnect();
                     if(mutation.target.data === '') {
                         mutation.target.data = utils.unicode.ZWS;
@@ -377,7 +377,7 @@ $.extend(Canvas.prototype, Backbone.Events, {
 
         if(textElementToLand) {
             _markAsCurrent(textElementToLand);
-            if(params.caretTo || !textElementToLand.sameNode(this.getCursor().getPosition().element)) {
+            if((params.caretTo || params.caretTo === 0) || !textElementToLand.sameNode(this.getCursor().getPosition().element)) {
                 this._moveCaretToTextElement(textElementToLand, params.caretTo); // as method on element?
             }
         } else {
@@ -457,6 +457,9 @@ $.extend(Selection.prototype, {
             return doc.createFragment(doc.CaretFragment, {node: anchorNode, offset: this.nativeSelection.anchorOffset});
         }
         if(this.type === 'textSelection') {
+            if(!anchorNode || !focusNode) {
+                return;
+            }
             if(anchorNode.isSiblingOf(focusNode)) {
                 return doc.createFragment(doc.TextRangeFragment, {
                     node1: anchorNode,