From 6ef7c10177462b02c293a03d37b7e6cff1bbc59f Mon Sep 17 00:00:00 2001 From: Sopot Cela Date: Fri, 31 Jan 2014 13:03:11 +0100 Subject: Bug 426828 - Context created for MDynamicMenuContribution processing should be disposed Change-Id: Icfeaf4b940f61367360b00ea311e742c06f1773a Signed-off-by: Sopot Cela --- .../e4/ui/workbench/renderers/swt/MenuManagerHideProcessor.java | 1 + .../e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerHideProcessor.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerHideProcessor.java index eac8428043c..396daa87008 100644 --- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerHideProcessor.java +++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerHideProcessor.java @@ -100,6 +100,7 @@ public class MenuManagerHideProcessor implements IMenuListener2 { ContextInjectionFactory.invoke(contribution, AboutToHide.class, parentContext, dynamicMenuContext, null); + dynamicMenuContext.dispose(); } } diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java index 6cd03c94bda..b857f1e170f 100644 --- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java +++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java @@ -166,9 +166,11 @@ public class MenuManagerShowProcessor implements IMenuListener2 { dynamicMenuContext.set(List.class, mel); IEclipseContext parentContext = modelService .getContainingContext(currentMenuElement); - if (ContextInjectionFactory.invoke(contribution, + Object rc = ContextInjectionFactory.invoke(contribution, AboutToShow.class, parentContext, dynamicMenuContext, - this) == this) { + this); + dynamicMenuContext.dispose(); + if (rc == this) { if (logger != null) { logger.error("Missing @AboutToShow method in " + contribution); //$NON-NLS-1$ } -- cgit v1.2.3