diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java index 7cd1dbd23b3..7801f9a16c6 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java @@ -206,7 +206,7 @@ public class DocumentAdapter implements IBuffer, IDocumentListener, IAdaptable { public DocumentAdapter(IOpenable owner, IPath location) { fOwner= owner; fLocation= location; - fLocationKind= LocationKind.LOCATION; + fLocationKind= LocationKind.NORMALIZE; initialize(); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java index ab6c6565d29..33f780c5bc9 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java @@ -439,6 +439,13 @@ public class EditorUtility { IFile secondBestMatch= null; IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot(); IFile[] files= root.findFilesForLocation(location); + if (files.length == 0) { + // workaround http://bugs.eclipse.org/233939 + IFile file= root.getFileForLocation(location); + if (file != null) { + files= new IFile[] { file }; + } + } for (IFile file : files) { if (file.isAccessible()) { if (project != null && file.getProject().equals(project)) {