diff options
Diffstat (limited to 'org.eclipse.egit.ui')
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(); |