Bug 306883 Accelerators are never shown on MacOS X
Build Identifier: I20100318-2100 I noticed a while back that the main menus in my app no longer showed keystroke accelerators. Turns out that the EBindingServiceImpl's contextSet is always empty. EBindingServiceImpl#setContexIds() is called a few times, but always with an empty set. As a result, EBS.getBestSequenceFor() always returns null and MenuItemRenderer#setItemText() shows nothing. I'm assuming that setContextIds() should be provided something at some point. But I can't seem to find any users of IServiceConstants.ACTIVE_CONTEXTS nor EBundleService.ACTIVE_CONTEXTS nor any other occurrences of "activeContexts". Reproducible: Always
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/workbench/swt/internal/PartRenderingEngine.java
}
		}
		
		if (element.getWidget() != null) {
			if (parent instanceof Composite
					&& element.getWidget() instanceof Control) {
				
				final Composite p = (Composite) parent;
				Control c = (Control) element.getWidget();
				if (c.getParent() == parent)
					return c;
				c.setVisible(true);
				c.setLayoutData(null);
				c.setParent(p);
				final Control[] changed = { c };
				
				c.getDisplay().asyncExec(new Runnable() {
					public void run() {
						if (p.isDisposed())
							return;
						p.layout(changed, SWT.CHANGED | SWT.DEFER);
						p.getShell().layout(changed, SWT.CHANGED | SWT.DEFER);
					}
				});
				
				if (element instanceof MContext) {
					IEclipseContext ec = ((MContext) element).getContext();
					IEclipseContext pc = getContext(element.getParent());
					ec.set(IContextConstants.PARENT, pc);
				}