### Eclipse Workspace Patch 1.0 #P org.eclipse.compare Index: compare/org/eclipse/compare/CompareEditorInput.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/CompareEditorInput.java,v retrieving revision 1.116 diff -u -r1.116 CompareEditorInput.java --- compare/org/eclipse/compare/CompareEditorInput.java 4 Mar 2010 16:26:05 -0000 1.116 +++ compare/org/eclipse/compare/CompareEditorInput.java 9 Apr 2010 13:04:00 -0000 @@ -38,6 +38,7 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.ListenerList; import org.eclipse.core.runtime.OperationCanceledException; +import org.eclipse.core.runtime.PlatformObject; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.action.IStatusLineManager; @@ -142,7 +143,7 @@ * @see CompareUI * @see CompareEditorInput */ -public abstract class CompareEditorInput implements IEditorInput, IPropertyChangeNotifier, IRunnableWithProgress, ICompareContainer { +public abstract class CompareEditorInput extends PlatformObject implements IEditorInput, IPropertyChangeNotifier, IRunnableWithProgress, ICompareContainer { private static final boolean DEBUG= false; @@ -327,7 +328,7 @@ } } - return null; + return super.getAdapter(adapter); } public synchronized ICompareNavigator getNavigator() { Index: compare/org/eclipse/compare/internal/AdapterFactory.java =================================================================== RCS file: compare/org/eclipse/compare/internal/AdapterFactory.java diff -N compare/org/eclipse/compare/internal/AdapterFactory.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ compare/org/eclipse/compare/internal/AdapterFactory.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,33 @@ +package org.eclipse.compare.internal; + +import org.eclipse.compare.CompareEditorInput; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IAdapterFactory; +import org.eclipse.ui.IContributorResourceAdapter; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IFileEditorInput; + +public class AdapterFactory implements IAdapterFactory { + + public Object getAdapter(final Object adaptableObject, Class adapterType) { + if (IContributorResourceAdapter.class.equals(adapterType) + && adaptableObject instanceof CompareEditorInput) { + return new IContributorResourceAdapter() { + public IResource getAdaptedResource(IAdaptable adaptable) { + Object ei = ((CompareEditorInput) adaptableObject) + .getAdapter(IEditorInput.class); + if (ei instanceof IFileEditorInput) { + return ((IFileEditorInput) ei).getFile(); + } + return null; + } + }; + } + return null; + } + + public Class[] getAdapterList() { + return new Class[] { IContributorResourceAdapter.class }; + } +} \ No newline at end of file Index: compare/org/eclipse/compare/internal/CompareEditor.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareEditor.java,v retrieving revision 1.83 diff -u -r1.83 CompareEditor.java --- compare/org/eclipse/compare/internal/CompareEditor.java 4 Mar 2010 16:26:05 -0000 1.83 +++ compare/org/eclipse/compare/internal/CompareEditor.java 9 Apr 2010 13:04:01 -0000 @@ -112,7 +112,7 @@ public void registerContextMenu(MenuManager menu, ISelectionProvider provider) { if (getSite() instanceof IEditorSite) { IEditorSite es = (IEditorSite) getSite(); - es.registerContextMenu(menu, provider, false); + es.registerContextMenu(menu, provider, true); } } Index: plugin.xml =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.compare/plugins/org.eclipse.compare/plugin.xml,v retrieving revision 1.70 diff -u -r1.70 plugin.xml --- plugin.xml 23 Mar 2009 14:10:49 -0000 1.70 +++ plugin.xml 9 Apr 2010 13:04:01 -0000 @@ -340,5 +340,15 @@ class="org.eclipse.compare.internal.ComparePreferenceInitializer"> + + + + + +