From 1575e7878e34cd61e16de3ba5af5e68c405c1fdb Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Fri, 18 Mar 2005 19:06:22 +0000 Subject: [PATCH] 2005-03-18 Alain Magloire Move more code in the try/finally as a precaution. Bad things where happening (i.e. NPE) but the monitor was not decremented * index/org/eclipse/cdt/internal/core/indexing/IndexManager.java --- core/org.eclipse.cdt.core/index/ChangeLog | 5 ++ .../core/search/indexing/IndexManager.java | 49 ++++++++++--------- 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/core/org.eclipse.cdt.core/index/ChangeLog b/core/org.eclipse.cdt.core/index/ChangeLog index 9437fb50736..8898d12b76a 100644 --- a/core/org.eclipse.cdt.core/index/ChangeLog +++ b/core/org.eclipse.cdt.core/index/ChangeLog @@ -1,3 +1,8 @@ +2005-03-18 Alain Magloire + Move more code in the try/finally as a precaution. Bad things + where happening (i.e. NPE) but the monitor was not decremented + * index/org/eclipse/cdt/internal/core/indexing/IndexManager.java + 2005-03-15 Bogdan Gheorghe Added a check for closed projects to update code diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java index 681e7819338..6fea25aecf1 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java @@ -415,31 +415,32 @@ public class IndexManager extends JobManager{ //this point ICDTIndexer indexer = null; indexer = (ICDTIndexer) indexerMap.get(project); - - if (indexer == null){ - String indexerID = null; - try { - //Indexer has not been created yet for this session - //Check to see if the indexer has been set in a session property - indexerID = (String) project.getSessionProperty(indexerIDKey); - } catch (CoreException e) {} - - //Project was either closed at startup or imported - if (indexerID == null && - project.isAccessible()){ - try { - indexer=initializeIndexer(project); - } catch (CoreException e1) {} + try { + if (indexer == null){ + String indexerID = null; + try { + //Indexer has not been created yet for this session + //Check to see if the indexer has been set in a session property + indexerID = (String) project.getSessionProperty(indexerIDKey); + } catch (CoreException e) {} + + //Project was either closed at startup or imported + if (indexerID == null && + project.isAccessible()){ + try { + indexer=initializeIndexer(project); + } catch (CoreException e1) {} + } + else{ + //Create the indexer and store it + indexer = getIndexer(indexerID); + } + + //Make sure we're not putting null in map + if (indexer != null) + indexerMap.put(project,indexer); } - else{ - //Create the indexer and store it - indexer = getIndexer(indexerID); - } - - //Make sure we're not putting null in map - if (indexer != null) - indexerMap.put(project,indexer); - + } finally { monitor.exitRead(); }