Fixed bug #13310: htmlArea RTE: Additional Inline Elements issue with overlapping...
authorStanislas Rolland <typo3@sjbr.ca>
Mon, 22 Feb 2010 00:50:18 +0000 (00:50 +0000)
committerStanislas Rolland <typo3@sjbr.ca>
Mon, 22 Feb 2010 00:50:18 +0000 (00:50 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@6963 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/rtehtmlarea/ChangeLog
typo3/sysext/rtehtmlarea/htmlarea/htmlarea-gecko.js

index 921c53a..7075263 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,7 @@
        * Added feature #13580: htmlArea RTE: Extjize the RTE
        * Fixed bug #13596: htmlArea RTE: Styling dropdowns grow on every use
        * Fixed bug #13597: htmlArea RTE: Toolbar select box does not close on click in editing area
        * Added feature #13580: htmlArea RTE: Extjize the RTE
        * Fixed bug #13596: htmlArea RTE: Styling dropdowns grow on every use
        * Fixed bug #13597: htmlArea RTE: Toolbar select box does not close on click in editing area
+       * Fixed bug #13310: htmlArea RTE: Additional Inline Elements issue with overlapping ranges
 
 2010-02-21  Benjamin Mack  <benni@typo3.org>
 
 
 2010-02-21  Benjamin Mack  <benni@typo3.org>
 
index 508970e..8ec1a3e 100644 (file)
@@ -3,6 +3,7 @@
        * Added feature #13580: htmlArea RTE: Extjize the RTE
        * Fixed bug #13596: htmlArea RTE: Styling dropdowns grow on every use
        * Fixed bug #13597: htmlArea RTE: Toolbar select box does not close on click in editing area
        * Added feature #13580: htmlArea RTE: Extjize the RTE
        * Fixed bug #13596: htmlArea RTE: Styling dropdowns grow on every use
        * Fixed bug #13597: htmlArea RTE: Toolbar select box does not close on click in editing area
+       * Fixed bug #13310: htmlArea RTE: Additional Inline Elements issue with overlapping ranges
 
 2009-12-11  Stanislas Rolland  <typo3@sjbr.ca>
 
 
 2009-12-11  Stanislas Rolland  <typo3@sjbr.ca>
 
index 7054e8a..5253037 100644 (file)
@@ -336,7 +336,7 @@ HTMLArea.Editor.prototype.moveToBookmark = function (bookmark) {
        var endSpan    = this.getBookmarkNode(bookmark, false);
 
        var range = this._createRange();
        var endSpan    = this.getBookmarkNode(bookmark, false);
 
        var range = this._createRange();
-               // If the previous sibling is a text node, let the anchor have it as parent
+               // If the previous sibling is a text node, let the anchorNode have it as parent
        if (startSpan.previousSibling && startSpan.previousSibling.nodeType == 3) {
                range.setStart(startSpan.previousSibling, startSpan.previousSibling.data.length);
        } else {
        if (startSpan.previousSibling && startSpan.previousSibling.nodeType == 3) {
                range.setStart(startSpan.previousSibling, startSpan.previousSibling.data.length);
        } else {
@@ -345,7 +345,7 @@ HTMLArea.Editor.prototype.moveToBookmark = function (bookmark) {
        HTMLArea.removeFromParent(startSpan);
                // If the bookmarked range was collapsed, the end span will not be available
        if (endSpan) {
        HTMLArea.removeFromParent(startSpan);
                // If the bookmarked range was collapsed, the end span will not be available
        if (endSpan) {
-                       // If the next sibling is a text node, let the anchor have it as parent
+                       // If the next sibling is a text node, let the focusNode have it as parent
                if (endSpan.nextSibling && endSpan.nextSibling.nodeType == 3) {
                        range.setEnd(endSpan.nextSibling, 0);
                } else {
                if (endSpan.nextSibling && endSpan.nextSibling.nodeType == 3) {
                        range.setEnd(endSpan.nextSibling, 0);
                } else {
@@ -410,18 +410,9 @@ HTMLArea.Editor.prototype.insertHTML = function(html) {
  * @return     void
  */
 HTMLArea.Editor.prototype.wrapWithInlineElement = function(element, selection, range) {
  * @return     void
  */
 HTMLArea.Editor.prototype.wrapWithInlineElement = function(element, selection, range) {
-               // Sometimes Opera raises a bad boundary points error
-       if (HTMLArea.is_opera) {
-               try {
-                       range.surroundContents(element);
-               } catch(e) {
-                       element.appendChild(range.extractContents());
-                       range.insertNode(element);
-               }
-       } else {
-               range.surroundContents(element);
-               element.normalize();
-       }
+       element.appendChild(range.extractContents());
+       range.insertNode(element);
+       element.normalize();
                // Sometimes Firefox inserts empty elements just outside the boundaries of the range
        var neighbour = element.previousSibling;
        if (neighbour && (neighbour.nodeType != 3) && !/\S/.test(neighbour.textContent)) {
                // Sometimes Firefox inserts empty elements just outside the boundaries of the range
        var neighbour = element.previousSibling;
        if (neighbour && (neighbour.nodeType != 3) && !/\S/.test(neighbour.textContent)) {