Bug 281040 [CSS] Workbench always overrides IStylingEngine app context
Since the Workbench is created AFTER the CSSStylingSupport is created (see org.eclipse.e4.ui.workbench.swt.internal.WorkbenchApplication), the Workbench always overrides the app context IStylingEngine with a Null Styling. Fix: Just change class org.eclipse.e4.workbench.ui.internal.Workbench: initializeNullStyling(mainContext) into if(appContext.get(IStylingEngine.class.getName()) == null) { initializeNullStyling(mainContext) }
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/workbench/swt/internal/WorkbenchApplication.java
String[] args = (String[]) applicationContext.getArguments().get(
				"application.args"); 
		IProduct product = Platform.getProduct();
		if (args.length > 0 && args[0].equals("-applicationXMI")) { 
			appURI = args[1];
		} else if (product != null) {
			String path = product.getProperty("applicationXMI"); 
			if (path != null) {
				appURI = path;
			}
		}
		final String cssURI = product == null ? null : product
				.getProperty("applicationCSS"); 
		final String cssResourcesURI = product == null ? null : product
				.getProperty("applicationCSSResources"); 
		Assert.isNotNull(appURI, "-applicationXMI argument missing"); 
		final URI initialWorkbenchDefinitionInstance = URI
				.createPlatformPluginURI(appURI, true);
		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
			public void run() {
				try {
					
					
					IEclipseContext serviceContext = EclipseContextFactory
							.createServiceContext(Activator.getDefault()
									.getContext());
					IEclipseContext appContext = EclipseContextFactory.create(
							serviceContext, null);
					appContext.set(IContextConstants.DEBUG_STRING,
							"application");