Fixed bug #17140: htmlArea RTE: In WebKit, RTE inserts incorrect link if text is...
authorStanislas Rolland <typo3@sjbr.ca>
Thu, 20 Jan 2011 23:51:05 +0000 (23:51 +0000)
committerStanislas Rolland <typo3@sjbr.ca>
Thu, 20 Jan 2011 23:51:05 +0000 (23:51 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/branches/TYPO3_4-3@10186 709f56b5-9817-0410-a4d7-c38de5d9e867

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

index 81f06a9..ea5d7b3 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-01-21  Stanislas Rolland  <typo3@sjbr.ca>
+
+       * Fixed bug #17140: htmlArea RTE: In WebKit, RTE inserts incorrect link if text is double-clicked
+
 2011-01-11  Christian Kuhn  <lolli@schwarzbu.ch>
 
        * Fixed bug #16967: [Caching framework] Remove not exising "GlobalsBackend" from config_default.php
index df28673..d567281 100644 (file)
@@ -1,3 +1,7 @@
+2011-01-20  Stanislas Rolland  <typo3@sjbr.ca>
+
+       * Fixed bug #17140: htmlArea RTE: In WebKit, RTE inserts incorrect link if text is double-clicked
+
 2010-11-24  Stanislas Rolland  <typo3@sjbr.ca>
 
        * Fixed bug #16124: htmlArea RTE: Links are incorrectly updated in Google Chrome
index d6c3290..989fd07 100644 (file)
@@ -125,7 +125,11 @@ HTMLArea.prototype.addRangeToSelection = function(selection, range) {
  * Create a range for the current selection
  */
 HTMLArea.prototype._createRange = function(sel) {
-       if (HTMLArea.is_safari) {
+       if (typeof(sel) == "undefined") {
+               return this._doc.createRange();
+       }
+               // Older versions of WebKit did not support getRangeAt
+       if (HTMLArea.is_safari && !sel.getRangeAt) {
                var range = this._doc.createRange();
                if (typeof(sel) == "undefined") {
                        return range;
@@ -143,7 +147,6 @@ HTMLArea.prototype._createRange = function(sel) {
                        return range;
                }
        }
-       if (typeof(sel) == "undefined") return this._doc.createRange();
        try {
                return sel.getRangeAt(0);
        } catch(e) {