Bug 319169 [UI] active parts in Detached windows prevent activating a part in the main window
Start with a fresh WS Detach the Outline view using DnD Now you can no longer activate any part in the main window (i.e. Package Explorer). The cause seems to be that the 'rootContainer' has become the DW's MTrimmedWindow rather than the DW's containing MPerspective. This causes the PartService's 'activate' to fail the 'isInContainer()' test...
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ModelServiceImpl.java
* org.eclipse.e4.ui.workbench.modeling.EModelService#getTrim(org.eclipse.e4.ui.model.application
	 * .ui.basic.MTrimmedWindow, org.eclipse.e4.ui.model.application.ui.SideValue)
	 */
	public MTrimBar getTrim(MTrimmedWindow window, SideValue sv) {
		List<MTrimBar> bars = window.getTrimBars();
		for (MTrimBar bar : bars) {
			if (bar.getSide() == sv)
				return bar;
		}
		
		MTrimBar newBar = BasicFactoryImpl.eINSTANCE.createTrimBar();
		newBar.setSide(sv);
		window.getTrimBars().add(newBar);
		return newBar;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * org.eclipse.e4.ui.workbench.modeling.EModelService#getTopLevelWindowFor(org.eclipse.e4.ui
	 * .model .application.ui.MUIElement)
	 */
	public MWindow getTopLevelWindowFor(MUIElement element) {
		EObjectImpl eObj = (EObjectImpl) element;
		while (eObj != null && !(eObj.eContainer() instanceof MApplication))
			eObj = (EObjectImpl) eObj.eContainer();
		if (eObj instanceof MWindow)
			return (MWindow) eObj;
		return null; 
	}