diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog index 93ad1de5733..974b8e7485b 100644 --- a/core/org.eclipse.cdt.ui/ChangeLog +++ b/core/org.eclipse.cdt.ui/ChangeLog @@ -1,3 +1,13 @@ +2004-02-03 Alain Magloire + PR 51121 + From Chris Wiebe: + This patch prevents a null pointer exception in + org.eclipse.jface.text.reconciler.AbstractReconciler. Under certain + conditions (like rapidly closing all editors) the call to getDocument() + inside initialProcess() can return null which causes an exception. + + * src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java + 2004-02-03 Alain Magloire PR 51115 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 d14712aec04..77adf69a774 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 @@ -193,7 +193,15 @@ public class CSourceViewerConfiguration extends SourceViewerConfiguration { */ public IReconciler getReconciler(ISourceViewer sourceViewer) { if (fEditor != null && fEditor.isEditable()) { - Reconciler reconciler= new Reconciler(); + Reconciler reconciler= new Reconciler() { + protected void initialProcess() { + // prevent case where getDocument() returns null + // and causes exception in initialProcess() + IDocument doc = getDocument(); + if (doc != null) + super.initialProcess(); + } + }; reconciler.setDelay(1000); reconciler.setIsIncrementalReconciler(false); reconciler.setReconcilingStrategy(new CReconcilingStrategy(fEditor), IDocument.DEFAULT_CONTENT_TYPE);