diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/AbstractCModelOutlinePage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/AbstractCModelOutlinePage.java index 4cceee2560c..d3d7d5658aa 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/AbstractCModelOutlinePage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/AbstractCModelOutlinePage.java @@ -324,9 +324,11 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent int offset = editorSelection.getOffset(); - ICElement editorElement; + ICElement editorElement= null; try { - editorElement = fInput.getElementAtOffset(offset); + if (fInput.isStructureKnown() && fInput.isConsistent()) { + editorElement = fInput.getElementAtOffset(offset); + } } catch (CModelException e) { return; } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java index 2cd821ba6b8..b06b5b3b3a7 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java @@ -1716,7 +1716,7 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IC ((IWorkingCopy) unit).reconcile(); } return unit.getElementAtOffset(offset); - } else if (unit.isConsistent()) { + } else if (unit.isStructureKnown() && unit.isConsistent()) { return unit.getElementAtOffset(offset); } } catch (CModelException x) {