diff options
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/RemoveCommand.java | 16 |
1 files changed, 12 insertions, 4 deletions
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 e5a62b6b3a..900ad40e91 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 @@ -56,10 +56,10 @@ import org.eclipse.jgit.treewalk.TreeWalk; import org.eclipse.jgit.treewalk.filter.PathFilterGroup; import org.eclipse.jgit.util.FileUtils; import org.eclipse.osgi.util.NLS; -import org.eclipse.ui.IWorkbenchSite; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.ui.progress.IWorkbenchSiteProgressService; +import org.eclipse.ui.services.IServiceLocator; /** * "Removes" one or several nodes @@ -81,8 +81,12 @@ public class RemoveCommand extends */ protected void removeRepository(final ExecutionEvent event, final boolean delete) { - IWorkbenchSite activeSite = HandlerUtil.getActiveSite(event); - IWorkbenchSiteProgressService service = CommonUtils.getService(activeSite, IWorkbenchSiteProgressService.class); + IServiceLocator serviceLocator = HandlerUtil.getActiveSite(event); + IWorkbenchSiteProgressService service = null; + if (serviceLocator != null) { + service = CommonUtils.getService(serviceLocator, + IWorkbenchSiteProgressService.class); + } // get selected nodes final List<RepositoryNode> selectedNodes; @@ -192,7 +196,11 @@ public class RemoveCommand extends } }; - service.schedule(job); + if (service == null) { + job.schedule(); + } else { + service.schedule(job); + } } private void deleteProjects( |