From 47f54464d3fc1dbc16d2ef7c40a50212f4aa7fbc Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Thu, 20 Jul 2006 19:50:04 +0000 Subject: [PATCH] Fix 151229 - Two problems here. First the CSourceViewer wasn't reacting well to files that we didn't know the content type for (rare case, though). The other was the PDOMTypeReference was always returning an external translation unit. Fixed to call the correct CModel create method. --- .../org/eclipse/cdt/core/browser/PDOMTypeReference.java | 6 +++++- .../org/eclipse/cdt/internal/ui/editor/CSourceViewer.java | 5 ----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.core/browser/org/eclipse/cdt/core/browser/PDOMTypeReference.java b/core/org.eclipse.cdt.core/browser/org/eclipse/cdt/core/browser/PDOMTypeReference.java index 398aac9d493..292728fda4f 100644 --- a/core/org.eclipse.cdt.core/browser/org/eclipse/cdt/core/browser/PDOMTypeReference.java +++ b/core/org.eclipse.cdt.core/browser/org/eclipse/cdt/core/browser/PDOMTypeReference.java @@ -76,7 +76,11 @@ public class PDOMTypeReference implements ITypeReference { } public ITranslationUnit getTranslationUnit() { - return CoreModel.getDefault().createTranslationUnitFrom(project, path); + ICElement element = CoreModel.getDefault().create(path); + if (element != null && element instanceof ITranslationUnit) + return (ITranslationUnit)element; + else + return CoreModel.getDefault().createTranslationUnitFrom(project, path); } public IWorkingCopy getWorkingCopy() { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CSourceViewer.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CSourceViewer.java index 2afc3369a20..840af2351a9 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CSourceViewer.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CSourceViewer.java @@ -96,11 +96,6 @@ public class CSourceViewer extends ProjectionViewer implements ITextViewerExtens IFile file = ResourceUtil.getFile(input); if (file != null) { contentType = CCorePlugin.getContentType(file.getProject(), file.getName()); - try { - return LanguageManager.getInstance().getLanguage(contentType); - } catch (CoreException exc) { - CUIPlugin.getDefault().log(exc.getStatus()); - } } else if (input instanceof IPathEditorInput) { IPath path = ((IPathEditorInput)input).getPath(); contentType = CCorePlugin.getContentType(path.lastSegment());