r1742 - branches/bxe_2_0/js

[email protected] Thu, 23 Aug 2007 10:53:05 +0200 (CEST)
Newsgroups gmane.editors.bitflux.cvs
Message-ID <[email protected]>
Author: chregu
Date: Thu Aug 23 10:53:05 2007
New Revision: 1742

Log:
fix an issue with "paste from extern" on spacer nodes


Modified:
   branches/bxe_2_0/js/bxeFunctions.js

Modified: branches/bxe_2_0/js/bxeFunctions.js
==============================================================================
--- branches/bxe_2_0/js/bxeFunctions.js	(original)
+++ branches/bxe_2_0/js/bxeFunctions.js	Thu Aug 23 10:53:05 2007
@@ -1588,18 +1588,22 @@
 }
 
 function bxe_checkIsAllowedChild(namespaceURI, localName, sel, noAlert) {
+
 	if (!sel) {
 		sel = window.getSelection();
-	}
-	
-	var cssr = sel.getEditableRange();
-	var parentnode = null;
-	if (cssr.startContainer.nodeType != 1) {
-		parentnode = cssr.startContainer.parentNode;
+	} else if (typeof sel == 'object' && sel.nodeType && sel.nodeType == 1) {
+		return bxe_checkIsAllowedChildOfNode(namespaceURI,localName, sel, noAlert);
 	} else {
-		parentnode = cssr.startContainer;
+		var cssr = sel.getEditableRange();
+		var parentnode = null;
+		if (cssr.startContainer.nodeType != 1) {
+			parentnode = cssr.startContainer.parentNode;
+		} else {
+			parentnode = cssr.startContainer;
+		}
+		
+		return bxe_checkIsAllowedChildOfNode(namespaceURI,localName, parentnode, noAlert);
 	}
-	return bxe_checkIsAllowedChildOfNode(namespaceURI,localName, parentnode, noAlert);
 	
 }
 
@@ -2084,6 +2088,7 @@
 	try {
 	if (replaceNode == BXE_SELECTION) {
 		//FIXME 2.0 doesn't work yet
+		
 		var sel = window.getSelection();
 		;
 		//var _node = _currentNode.prepareForInsert();
@@ -2095,7 +2100,12 @@
 			if (!_currentNode) {
 				_currentNode = docfrag.lastChild;
 			}
-			if (!bxe_checkIsAllowedChild(_currentNode.namespaceURI,_currentNode.localName,sel, true)) {
+			if (selNode) {
+				var selCheck = selNode;
+			} else {
+				var selCheck = sel;
+			}
+			if (!bxe_checkIsAllowedChild(_currentNode.namespaceURI,_currentNode.localName,selCheck, true)) {
 				var cssr = sel.getEditableRange();
 				/*
 				//doesn't split text nodes anymore
-- 
Bx-editor-cvs mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bx-editor-cvs