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 (eventBroker != null) {
			eventBroker.subscribe(UIEvents.buildTopic(UIEvents.UIElement.TOPIC,
					UIEvents.UIElement.TOBERENDERED), toBeRenderedHandler);
			eventBroker.subscribe(UIEvents.buildTopic(
					UIEvents.ElementContainer.TOPIC,
					UIEvents.ElementContainer.CHILDREN), childrenHandler);
		}
	}
	@PreDestroy
	private void contextDisposed() {
		if (eventBroker == null)
			return;
		eventBroker.unsubscribe(toBeRenderedHandler);
		eventBroker.unsubscribe(childrenHandler);
	}
	private static void populateModelInterfaces(MContext contextModel,
			IEclipseContext context, Class<?>[] interfaces) {
		for (Class<?> intf : interfaces) {
			Activator.trace(Policy.DEBUG_CONTEXTS,
					"Adding " + intf.getName() + " for " 
							+ contextModel.getClass().getName(), null);
			context.set(intf.getName(), contextModel);
			populateModelInterfaces(contextModel, context, intf.getInterfaces());
		}
	}
	public Object createGui(MUIElement element, Object parent) {
		if (!element.isToBeRendered())
			return null;
		if (element instanceof MContext) {
			MContext ctxt = (MContext) element;