Bug 354538 - [regression] Duplicate menu items with
DynamicMenuContributions
To fix bug regression from bug 518036 we should not call
clearModelToContribution() on removeDynamicMenuContributions(): this
will remove also not dynamic children, which results in duplicated
entries next time menu is opened.
Change-Id: I557d7b3e215d666842f0d6348c8ca0a754e319d9
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java
index 0094963..e8481e7 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java
@@ -1151,7 +1151,9 @@
ici = getManager(menuElement);
clearModelToManager(menuElement, (MenuManager) ici);
} else {
- clearModelToContribution(menuModel, ici);
+ // Bug 518036: the call below removes too much.
+ // clearModelToContribution(menuModel, ici);
+ contributionToModel.remove(ici);
}
menuManager.remove(ici);
clearModelToContribution(mMenuElement, ici);