Bug 279123 [UI] View's context menus are over written with the contents from the drop-down menu
This appeared once we started populating legacy parts with menu and tb models... There is code in the PartRenderer that 'automatically' creates Menus and Toolbars from the existing model structures if they exist. Unfortunately it also calls 'setMenu' on the 'owning' control. For legacy parts the MMenu available through 'getMenu' is the 'drop down' menu that appears when you click on the drop down button on the view's toolbar. The control's menu for these parts is managed by the view's implementation itself.
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/SWTPartFactory.java
protected Object executeItem(Display display, final MHandledItem item) {
		IEclipseContext context = getFocusContext(display);
		EHandlerService hs = (EHandlerService) context
				.get(EHandlerService.class.getName());
		return hs.executeHandler(item.getCommand().getId());
	}
	private void createMenuItem(MPart<?> part, final Menu parentMenu,
			final MHandledItem handledItem) {
		int style = SWT.PUSH;
		if (handledItem instanceof MMenuItem) {
			if (((MMenuItem) handledItem).isSeparator()) {
				style = SWT.SEPARATOR;
			} else if (((MMenuItem) handledItem).getMenu() != null) {
				style = SWT.CASCADE;
			}
		}
		final MenuItem newMenuItem = new MenuItem(parentMenu, style);
		if (style != SWT.SEPARATOR) {
			newMenuItem.setText(handledItem.getName());
			newMenuItem.setImage(getImage(handledItem));
			newMenuItem.setEnabled(true);
			handledItem.eAdapters().add(new AdapterImpl() {
				@Override
				public void notifyChanged(Notification msg) {
					if (ApplicationPackage.Literals.MITEM__NAME.equals(msg
							.getFeature())) {
						final MHandledItem i = (MHandledItem) msg.getNotifier();
						newMenuItem.getDisplay().asyncExec(new Runnable() {
							public void run() {
								if (!newMenuItem.isDisposed()) {