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/src/org/eclipse/e4/workbench/ui/internal/PartServiceImpl.java
/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.e4.workbench.modeling.EPartService#getSaveableParts()
	 */
	public Collection<MSaveablePart> getSaveableParts() {
		List<MSaveablePart> saveableParts = new ArrayList<MSaveablePart>();
		for (MPart part : getParts()) {
			if (part instanceof MSaveablePart) {
				saveableParts.add((MSaveablePart) part);
			}
		}
		return saveableParts;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.e4.workbench.modeling.EPartService#getDirtyParts()
	 */
	public Collection<MSaveablePart> getDirtyParts() {
		List<MSaveablePart> dirtyParts = new ArrayList<MSaveablePart>();
		for (MSaveablePart part : getSaveableParts()) {
			if (part.isDirty()) {
				dirtyParts.add(part);
			}
		}
		return dirtyParts;
	}
}