Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.egit.ui')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java11
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java14
2 files changed, 18 insertions, 7 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java
index d5458c88f5..12e6317be4 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java
@@ -436,10 +436,15 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider,
while (walk.next()) {
Repository subRepo = walk.getRepository();
if (subRepo != null) {
- final Repository cachedRepo = repositoryCache
+ Repository cachedRepo = null;
+ try {
+ cachedRepo = repositoryCache
.lookupRepository(subRepo.getDirectory());
- subRepo.close();
- children.add(new RepositoryNode(node, cachedRepo));
+ } finally {
+ subRepo.close();
+ }
+ if (cachedRepo != null)
+ children.add(new RepositoryNode(node, cachedRepo));
}
}
} catch (IOException e) {
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
index d49ca642c4..491c95a8c4 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java
@@ -226,10 +226,16 @@ public class RemoveCommand extends
while (walk.next()) {
Repository subRepo = walk.getRepository();
if (subRepo != null) {
- final RepositoryCache cache = org.eclipse.egit.core.Activator
- .getDefault().getRepositoryCache();
- cache.lookupRepository(subRepo.getDirectory()).close();
- subRepo.close();
+ RepositoryCache cache = null;
+ try {
+ cache = org.eclipse.egit.core.Activator.getDefault()
+ .getRepositoryCache();
+ } finally {
+ if (cache != null)
+ cache.lookupRepository(subRepo.getDirectory())
+ .close();
+ subRepo.close();
+ }
}
}
walk.release();

Back to the top