Bug 350067 - [Compatibility] Cannot shutdown with Mylyn due to NPE
revert change while we work.
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java
index 37bcf68..99d339f 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java
@@ -138,6 +138,7 @@
public static ToolItemUpdateTimer toolItemUpdater = new ToolItemUpdateTimer();
private static final String DISPOSABLE_CHECK = "IDisposable"; //$NON-NLS-1$
+ private static final String WW_SUPPORT = "org.eclipse.ui.IWorkbenchWindow"; //$NON-NLS-1$
private static final String HCI_STATIC_CONTEXT = "HCI-staticContext"; //$NON-NLS-1$
private MHandledItem model;
private Widget widget;
@@ -346,8 +347,11 @@
Object obj = model.getTransientData().get(ItemType.CHECK.toString());
if (obj instanceof IContextFunction) {
IEclipseContext context = getContext(model);
+ IEclipseContext staticContext = getStaticContext(null);
+ staticContext.set(WW_SUPPORT, context.get(WW_SUPPORT));
+
IContextFunction func = (IContextFunction) obj;
- obj = func.compute(context);
+ obj = func.compute(staticContext);
if (obj != null) {
model.getTransientData().put(DISPOSABLE_CHECK, obj);
}