Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 5825)
+++ /CKEditor/trunk/CHANGES.html	(revision 5826)
@@ -1,3 +1,3 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
@@ -43,4 +43,5 @@
 	<ul>
 		<li><a href="http://dev.fckeditor.net/ticket/6027">#6027</a> : Modifying Table Properties by selecting more than one cell caused issues.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/6146">#6146</a> : IE: Floating panels were being opened in the wrong place in RTL pages with horizontal scrollbars.</li>
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_source/plugins/floatpanel/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/floatpanel/plugin.js	(revision 5825)
+++ /CKEditor/trunk/_source/plugins/floatpanel/plugin.js	(revision 5826)
@@ -260,4 +260,26 @@
 							if ( top + panelSize.height > viewportSize.height + windowScroll.y )
 								top -= panelSize.height;
+
+							// If IE is in RTL, we have troubles with absolute
+							// position and horizontal scrolls. Here we have a
+							// series of hacks to workaround it. (#6146)
+							if ( CKEDITOR.env.ie )
+							{
+								var offsetParent = new CKEDITOR.dom.element( element.$.offsetParent ),
+									scrollParent = offsetParent;
+
+								// Quirks returns <body>, but standards returns <html>.
+								if ( scrollParent.getName() == 'html' )
+									scrollParent = scrollParent.getDocument().getBody();
+
+								if ( scrollParent.getComputedStyle( 'direction' ) == 'rtl' )
+								{
+									// For IE8, there is not much logic on this, but it works.
+									if ( CKEDITOR.env.ie8Compat )
+										left -= element.getDocument().getDocumentElement().$.scrollLeft * 2;
+									else
+										left -= ( offsetParent.$.scrollWidth - offsetParent.$.clientWidth );
+								}
+							}
 
 							element.setStyles(
