Better fix for bug 295248: [rulers] Starting a selection in the line number ruler does not set focus to text viewer
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java
index 4165cec..d8ef1e6 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java
@@ -168,6 +168,8 @@
IDocument document= fCachedTextViewer.getDocument();
int lineNumber= fParentRuler.getLineOfLastMouseButtonActivity();
final StyledText textWidget= fCachedTextViewer.getTextWidget();
+ if (textWidget != null && !textWidget.isFocusControl())
+ textWidget.setFocus();
if (expandExistingSelection && fCachedTextViewer instanceof ITextViewerExtension5 && textWidget != null) {
ITextViewerExtension5 extension5= ((ITextViewerExtension5)fCachedTextViewer);
// Find model cursor position
@@ -185,8 +187,6 @@
} else {
fStartLineNumber= lineNumber;
fStartLineOffset= document.getLineInformation(fStartLineNumber).getOffset();
- if (textWidget != null && !textWidget.isFocusControl())
- textWidget.setFocus();
fCachedTextViewer.setSelectedRange(fStartLineOffset, 0);
}
fCachedViewportSize= getVisibleLinesInViewport();