From 2fbfc15fe4540293656b0165c91d0ccd4e01080e Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Tue, 3 Feb 2004 18:03:23 +0000 Subject: [PATCH] Fix for PR 51121 --- core/org.eclipse.cdt.ui/ChangeLog | 10 ++++++++++ .../internal/ui/text/CSourceViewerConfiguration.java | 10 +++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) 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);