Fixed bug 51840: [api] clarify (I)TextSelection's use of offsets and lengths <= 0
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
index a4ee096..bba65e6 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
@@ -2550,6 +2550,10 @@
*/
protected void fireSelectionChanged(int offset, int length) {
if (redraws()) {
+ if (length < 0) {
+ length= -length;
+ offset= offset + length;
+ }
IRegion r= widgetRange2ModelRange(new Region(offset, length));
if ((r != null && !r.equals(fLastSentSelectionChange)) || r == null) {
fLastSentSelectionChange= r;