fixed custom resize grip for RTL systems
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/AbstractInformationControl.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/AbstractInformationControl.java
index dbfe775..b0ea42e 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/AbstractInformationControl.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/AbstractInformationControl.java
@@ -10,9 +10,6 @@
  *******************************************************************************/
 package org.eclipse.jface.text;
 
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.ListenerList;
-
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.events.FocusEvent;
@@ -43,6 +40,9 @@
 import org.eclipse.swt.widgets.Slider;
 import org.eclipse.swt.widgets.ToolBar;
 
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.ListenerList;
+
 import org.eclipse.jface.action.ToolBarManager;
 import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.jface.util.Geometry;
@@ -300,14 +300,17 @@
 			}
 		});
 		
-		resizer.setCursor(new Cursor(resizer.getDisplay(), SWT.CURSOR_SIZESE));
+		final boolean isRTL= (resizer.getShell().getStyle() & SWT.RIGHT_TO_LEFT) != 0; 
+		resizer.setCursor(new Cursor(resizer.getDisplay(), isRTL ? SWT.CURSOR_SIZESW : SWT.CURSOR_SIZESE));
 		MouseAdapter resizeSupport= new MouseAdapter() {
 			private MouseMoveListener fResizeListener;
 			
 			public void mouseDown(MouseEvent e) {
-				Point shellSize= fShell.getSize();
-				final int shellX= shellSize.x;
-				final int shellY= shellSize.y;
+				Rectangle shellBounds= fShell.getBounds();
+				final int shellX= shellBounds.x;
+				final int shellY= shellBounds.y;
+				final int shellWidth= shellBounds.width;
+				final int shellHeight= shellBounds.height;
 				Point mouseLoc= resizer.toDisplay(e.x, e.y);
 				final int mouseX= mouseLoc.x;
 				final int mouseY= mouseLoc.y;
@@ -316,7 +319,12 @@
 						Point mouseLoc2= resizer.toDisplay(e2.x, e2.y);
 						int dx= mouseLoc2.x - mouseX;
 						int dy= mouseLoc2.y - mouseY;
-						setSize(shellX + dx, shellY + dy);
+						if (isRTL) {
+							setLocation(new Point(shellX + dx, shellY));
+							setSize(shellWidth - dx, shellHeight + dy);
+						} else {
+							setSize(shellWidth + dx, shellHeight + dy);
+						}
 					}
 				};
 				resizer.addMouseMoveListener(fResizeListener);