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());
}
/**