Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] reconciler null pointer exception patch

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.
Index: CSourceViewerConfiguration.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CSourceViewerConfiguration.java,v
retrieving revision 1.13
diff -u -r1.13 CSourceViewerConfiguration.java
--- CSourceViewerConfiguration.java	3 Dec 2003 20:29:29 -0000	1.13
+++ CSourceViewerConfiguration.java	3 Feb 2004 17:36:57 -0000
@@ -193,7 +193,15 @@
 	 */
 	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);

Back to the top