From 22c3065bd33693b39691fe25ca009d7396c06ce6 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 13 Apr 2005 16:16:43 +0000 Subject: [PATCH] Removed the assumption that working copy has a resource, which for external files is false. --- .../ui/text/CSourceViewerConfiguration.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java index 3faea3a2962..1e44fde33a7 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java @@ -20,6 +20,7 @@ import org.eclipse.cdt.internal.ui.text.contentassist.CCompletionProcessor2; import org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistPreference; import org.eclipse.cdt.ui.CElementContentProvider; import org.eclipse.cdt.ui.CUIPlugin; +import org.eclipse.cdt.ui.IWorkingCopyManager; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.jface.dialogs.IDialogSettings; @@ -204,16 +205,21 @@ public class CSourceViewerConfiguration extends TextSourceViewerConfiguration { ContentAssistant assistant = new ContentAssistant(); + IContentAssistProcessor processor = null; + IWorkingCopy workingCopy = CUIPlugin.getDefault().getWorkingCopyManager().getWorkingCopy(getEditor().getEditorInput()); - IResource resource = workingCopy.getResource(); - IProject project = resource.getProject(); - ICFileType type = CCorePlugin.getDefault().getFileType(project, resource.getLocation().lastSegment()); - - IContentAssistProcessor processor - = (type.getLanguage().getId().equals(ICFileTypeConstants.LANG_C) - || getPreferenceStore().getBoolean(ContentAssistPreference.DONT_USE_DOM)) - ? (IContentAssistProcessor)new CCompletionProcessor(getEditor()) - : (IContentAssistProcessor)new CCompletionProcessor2(getEditor()); + IResource resource = workingCopy.getResource(); + if (resource != null) { + IProject project = resource.getProject(); + ICFileType type = CCorePlugin.getDefault().getFileType(project, resource.getLocation().lastSegment()); + + processor = type.getLanguage().getId().equals(ICFileTypeConstants.LANG_C) + || getPreferenceStore().getBoolean(ContentAssistPreference.DONT_USE_DOM) + ? (IContentAssistProcessor)new CCompletionProcessor(getEditor()) + : (IContentAssistProcessor)new CCompletionProcessor2(getEditor()); + } else + processor = new CCompletionProcessor(getEditor()); + assistant.setContentAssistProcessor(processor, IDocument.DEFAULT_CONTENT_TYPE); //Will this work as a replacement for the configuration lines below?