diff options
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java index 1b02dc835f..ed87e59635 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java @@ -20,6 +20,7 @@ import org.eclipse.compare.ITypedElement; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Preferences; import org.eclipse.core.runtime.Preferences.IPropertyChangeListener; @@ -157,6 +158,12 @@ public class GitHistoryPage extends HistoryPage implements RepositoryListener { } + if (object instanceof IAdaptable) { + IResource resource = (IResource) ((IAdaptable) object) + .getAdapter(IResource.class); + return resource == null ? false : typeOk(resource); + } + if (object instanceof IResource) { return typeOk((IResource) object); } @@ -862,7 +869,10 @@ public class GitHistoryPage extends HistoryPage implements RepositoryListener { in = new ResourceList(new IResource[] { (IResource) o }); else if (o instanceof ResourceList) in = o; - else + else if (o instanceof IAdaptable) { + IResource resource = (IResource) ((IAdaptable) o).getAdapter(IResource.class); + in = resource == null ? null : new ResourceList(new IResource[] { resource }); + } else in = null; return super.setInput(in); } @@ -873,7 +883,7 @@ public class GitHistoryPage extends HistoryPage implements RepositoryListener { revObjectSelectionProvider.setActiveRepository(null); cancelRefreshJob(); - if (graph == null) + if (graph == null || super.getInput() == null) return false; final IResource[] in = ((ResourceList) super.getInput()).getItems(); |