Bug 295250 ContributedPartRenderer eagerly activates constructed parts in createWidget
I was wondering why my part was becoming active when I noticed the two lines of code below in CPR... parentContext.set(IContextConstants.ACTIVE_CHILD, localContext); activate(element); This eager activation is in direct conflict with the 3.x IWorkbenchPage's showView method with a IWorkbenchPage.VIEW_CREATE mode passed in.
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/ContributedPartRenderer.java
parentContext, part);
		Workbench.processHierarchy(part);
		for (String variables : part.getVariables()) {
			int delimiterIndex = variables.indexOf("::"); 
			if (delimiterIndex == -1) {
				continue;
			}
			String key = variables.substring(0, delimiterIndex);
			String value = variables.substring(delimiterIndex + 2);
			if (!value.startsWith("platform:/")) { 
				localContext.set(key, value);
			}
		}
		IContributionFactory contributionFactory = (IContributionFactory) localContext
				.get(IContributionFactory.class.getName());
		for (String variables : part.getVariables()) {
			int delimiterIndex = variables.indexOf("::"); 
			if (delimiterIndex == -1) {
				continue;
			}
			String key = variables.substring(0, delimiterIndex);
			String value = variables.substring(delimiterIndex + 2);
			if (value.startsWith("platform:/")) { 
				Object result = contributionFactory.create(value, localContext);
				localContext.set(key, result);
			}
		}
		localContext.set(Composite.class.getName(), newComposite);
		localContext.set(MPart.class.getName(), part);
		parentContext.set(IContextConstants.ACTIVE_CHILD, localContext);