Bug 579758 - Codan marker resolution doesn't work with CEditor embedded
in a multi page editor

Adapt editorPart to ITextEditor to support more use cases

Change-Id: I21e367e793bc17da263775b22ed13e82742be10f
Signed-off-by: Dominic Scharfe <dominic.scharfe@coseda-tech.com>
diff --git a/codan/org.eclipse.cdt.codan.ui.cxx/src/org/eclipse/cdt/codan/ui/AbstractCodanCMarkerResolution.java b/codan/org.eclipse.cdt.codan.ui.cxx/src/org/eclipse/cdt/codan/ui/AbstractCodanCMarkerResolution.java
index a438022..4a6c5b4 100644
--- a/codan/org.eclipse.cdt.codan.ui.cxx/src/org/eclipse/cdt/codan/ui/AbstractCodanCMarkerResolution.java
+++ b/codan/org.eclipse.cdt.codan.ui.cxx/src/org/eclipse/cdt/codan/ui/AbstractCodanCMarkerResolution.java
@@ -35,6 +35,7 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Adapters;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.jface.text.BadLocationException;
@@ -177,12 +178,8 @@
 	 * @return the document of that part
 	 */
 	protected IDocument openDocument(IEditorPart editorPart) {
-		if (editorPart instanceof ITextEditor) {
-			ITextEditor editor = (ITextEditor) editorPart;
-			IDocument doc = editor.getDocumentProvider().getDocument(editor.getEditorInput());
-			return doc;
-		}
-		return null;
+		ITextEditor textEditor = Adapters.adapt(editorPart, ITextEditor.class);
+		return textEditor == null ? null : textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
 	}
 
 	/**