View | Details | Raw Unified | Return to bug 286219 | Differences between
and this patch

Collapse All | Expand All

(-)compare/org/eclipse/compare/CompareEditorInput.java (-2 / +3 lines)
Lines 38-43 Link Here
38
import org.eclipse.core.runtime.IStatus;
38
import org.eclipse.core.runtime.IStatus;
39
import org.eclipse.core.runtime.ListenerList;
39
import org.eclipse.core.runtime.ListenerList;
40
import org.eclipse.core.runtime.OperationCanceledException;
40
import org.eclipse.core.runtime.OperationCanceledException;
41
import org.eclipse.core.runtime.PlatformObject;
41
import org.eclipse.core.runtime.Status;
42
import org.eclipse.core.runtime.Status;
42
import org.eclipse.core.runtime.jobs.Job;
43
import org.eclipse.core.runtime.jobs.Job;
43
import org.eclipse.jface.action.IStatusLineManager;
44
import org.eclipse.jface.action.IStatusLineManager;
Lines 142-148 Link Here
142
 * @see CompareUI
143
 * @see CompareUI
143
 * @see CompareEditorInput
144
 * @see CompareEditorInput
144
 */
145
 */
145
public abstract class CompareEditorInput implements IEditorInput, IPropertyChangeNotifier, IRunnableWithProgress, ICompareContainer {
146
public abstract class CompareEditorInput extends PlatformObject implements IEditorInput, IPropertyChangeNotifier, IRunnableWithProgress, ICompareContainer {
146
147
147
	private static final boolean DEBUG= false;
148
	private static final boolean DEBUG= false;
148
	
149
	
Lines 327-333 Link Here
327
			}
328
			}
328
		}
329
		}
329
330
330
		return null;
331
		return super.getAdapter(adapter);
331
	}
332
	}
332
333
333
	public synchronized ICompareNavigator getNavigator() {
334
	public synchronized ICompareNavigator getNavigator() {
(-)compare/org/eclipse/compare/internal/AdapterFactory.java (+33 lines)
Added Link Here
1
package org.eclipse.compare.internal;
2
3
import org.eclipse.compare.CompareEditorInput;
4
import org.eclipse.core.resources.IResource;
5
import org.eclipse.core.runtime.IAdaptable;
6
import org.eclipse.core.runtime.IAdapterFactory;
7
import org.eclipse.ui.IContributorResourceAdapter;
8
import org.eclipse.ui.IEditorInput;
9
import org.eclipse.ui.IFileEditorInput;
10
11
public class AdapterFactory implements IAdapterFactory {
12
13
	public Object getAdapter(final Object adaptableObject, Class adapterType) {
14
		if (IContributorResourceAdapter.class.equals(adapterType)
15
				&& adaptableObject instanceof CompareEditorInput) {
16
			return new IContributorResourceAdapter() {
17
				public IResource getAdaptedResource(IAdaptable adaptable) {
18
					Object ei = ((CompareEditorInput) adaptableObject)
19
							.getAdapter(IEditorInput.class);
20
					if (ei instanceof IFileEditorInput) {
21
						return ((IFileEditorInput) ei).getFile();
22
					}
23
					return null;
24
				}
25
			};
26
		}
27
		return null;
28
	}
29
30
	public Class[] getAdapterList() {
31
		return new Class[] { IContributorResourceAdapter.class };
32
	}
33
}
(-)compare/org/eclipse/compare/internal/CompareEditor.java (-1 / +1 lines)
Lines 112-118 Link Here
112
		public void registerContextMenu(MenuManager menu, ISelectionProvider provider) {
112
		public void registerContextMenu(MenuManager menu, ISelectionProvider provider) {
113
			if (getSite() instanceof IEditorSite) {
113
			if (getSite() instanceof IEditorSite) {
114
				IEditorSite es = (IEditorSite) getSite();
114
				IEditorSite es = (IEditorSite) getSite();
115
				es.registerContextMenu(menu, provider, false);
115
				es.registerContextMenu(menu, provider, true);
116
			}
116
			}
117
		}
117
		}
118
118
(-)plugin.xml (+10 lines)
Lines 340-344 Link Here
340
            class="org.eclipse.compare.internal.ComparePreferenceInitializer">
340
            class="org.eclipse.compare.internal.ComparePreferenceInitializer">
341
      </initializer>
341
      </initializer>
342
   </extension>
342
   </extension>
343
   <extension
344
         point="org.eclipse.core.runtime.adapters">
345
      <factory
346
            adaptableType="org.eclipse.compare.CompareEditorInput"
347
            class="org.eclipse.compare.internal.AdapterFactory">
348
         <adapter
349
               type="org.eclipse.ui.IContributorResourceAdapter">
350
         </adapter>
351
      </factory>
352
   </extension>
343
353
344
</plugin>
354
</plugin>

Return to bug 286219