From 987e8fadf350c226aed80f468797217122374712 Mon Sep 17 00:00:00 2001 From: David Inglis Date: Fri, 12 Dec 2003 18:28:23 +0000 Subject: [PATCH] fixed junit test failure --- .../cdt/internal/core/model/CModelManager.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java index 03debd7346d..e2d9d93794b 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java @@ -340,7 +340,7 @@ public class CModelManager implements IResourceChangeListener { } else { ICProject cproject = celement.getCProject(); CProjectInfo info = (CProjectInfo)peekAtInfo(cproject); - if (info.vBin != null) { + if (info != null && info.vBin != null) { if (peekAtInfo(info.vBin) != null) { IBinary[] bins = info.vBin.getBinaries(); for (int i = 0; i < bins.length; i++) { @@ -353,7 +353,7 @@ public class CModelManager implements IResourceChangeListener { } } } - if (info.vLib != null) { + if (info != null && info.vLib != null) { if (peekAtInfo(info.vLib) != null) { IArchive[] ars = info.vLib.getArchives(); for (int i = 0; i < ars.length; i++) { @@ -803,6 +803,13 @@ public class CModelManager implements IResourceChangeListener { binaryRunners.put(project, new BinaryRunner(project)); } } + } else if (0 != (delta.getFlags() & IResourceDelta.REMOVED)) { + IProject project = (IProject) resource; + BinaryRunner runner = (BinaryRunner) binaryRunners.remove(project); + if (runner != null) { + runner.stop(); + } + binaryParsersMap.remove(project); } break; } @@ -874,10 +881,5 @@ public class CModelManager implements IResourceChangeListener { public void deleting(IProject project){ // discard all indexing jobs for this project this.getIndexManager().discardJobs(project.getName()); - BinaryRunner runner = (BinaryRunner) binaryRunners.remove(project); - if (runner != null) { - runner.stop(); - } - binaryParsersMap.remove(project); } }