diff options
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/revision/ResourceEditableRevision.java')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/revision/ResourceEditableRevision.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/revision/ResourceEditableRevision.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/revision/ResourceEditableRevision.java index b2be7fb49a..4c332877e9 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/revision/ResourceEditableRevision.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/revision/ResourceEditableRevision.java @@ -25,6 +25,7 @@ import org.eclipse.egit.ui.Activator; import org.eclipse.jface.operation.IRunnableContext; import org.eclipse.jgit.annotations.NonNull; import org.eclipse.team.core.history.IFileRevision; +import org.eclipse.ui.IEditorInput; /** * Editable revision backed by an {@link IFile}. Used for conflict resolutions @@ -96,6 +97,15 @@ public class ResourceEditableRevision extends EditableRevision } @Override + protected <T> T adaptEditorInput(IEditorInput editorInput, + Class<T> adapter) { + if (adapter == IResource.class || adapter == IFile.class) { + return adapter.cast(file); + } + return super.adaptEditorInput(editorInput, adapter); + } + + @Override public int hashCode() { return 31 * super.hashCode() + Objects.hash(file, runnableContext); } |