Bug 505940 - NPE on overview ruler on editor for IFileRevision on plain
text file

Fixed regression in
org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.findSelectedOverviewRulerAnnotationLabel(),
introduced via commit b6ac8fd637f7fa7343820fdff40b9b2cfd6bc54b.

Updated javadoc of ISourceViewer to make clear that null return is
possible.

Change-Id: I0fa6b83a79499b9b2b59edc2527166e8e1fa80b1
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewer.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewer.java
index d22f2fe..caa4ce9 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewer.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewer.java
@@ -155,7 +155,7 @@
 	 * {@link ISourceViewerExtension2#getVisualAnnotationModel()}in order to
 	 * get access to the viewer's visual annotation model.
 	 *
-	 * @return this viewer's annotation model
+	 * @return this viewer's annotation model, or <code>null</code> if none could be determined
 	 */
 	IAnnotationModel getAnnotationModel();
 
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditor.java b/org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditor.java
index 04dfd8f..ca16934 100644
--- a/org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditor.java
+++ b/org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditor.java
@@ -1788,8 +1788,11 @@
 	}
 
 	private String findSelectedOverviewRulerAnnotationLabel() {
-		Point selection= getSourceViewer().getSelectedRange();
 		IAnnotationModel model= getSourceViewer().getAnnotationModel();
+		if (model == null) {
+			return null;
+		}
+		Point selection= getSourceViewer().getSelectedRange();
 		Annotation annotation= null;
 		Iterator<Annotation> iter= model.getAnnotationIterator();
 		while (iter.hasNext()) {