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);