smartxml: fix in DocumentNode.getParentSiblings
[fnpeditor.git] / src / smartxml / smartxml.js
index 9227e0f..7eab11b 100644 (file)
@@ -123,6 +123,9 @@ $.extend(DocumentNode.prototype, {
         var node = (metaData && metaData.node) ? metaData.node : this,
             event = new events.ChangeEvent(type, $.extend({node: node}, metaData || {}));
         if(type === 'nodeDetached' || this.document.containsNode(event.meta.node)) {
+            if(type === 'nodeMoved') {
+                event.meta.parent = origParent;
+            }
             this.document.trigger('change', event);
         }
         if((type === 'nodeAdded' || type === 'nodeMoved') && !this.document.containsNode(this) && nodeWasContained) {
@@ -370,13 +373,17 @@ $.extend(Document.prototype, Backbone.Events, {
             return noSiblingParents;
         }
 
-        var i;
-        for(i = 0; i < Math.min(parents1.length, parents2.length); i++) {
+        var stop = Math.min(parents1.length, parents2.length),
+            i;
+        for(i = 0; i < stop; i++) {
             if(parents1[i].sameNode(parents2[i])) {
                 continue;
             }
             break;
         }
+        if(i === stop) {
+            i--;
+        }
         return {node1: parents1[i], node2: parents2[i]};
     },