Had to fix problems after merge with Paul's changes - Bug 263710 Get rid of weird IHasInput interface
diff --git a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/renderers/swt/SWTPartFactory.java b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/renderers/swt/SWTPartFactory.java
index bd955e3..25b3424 100644
--- a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/renderers/swt/SWTPartFactory.java
+++ b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/renderers/swt/SWTPartFactory.java
@@ -2,7 +2,6 @@
 
 import org.eclipse.e4.core.services.context.IEclipseContext;
 import org.eclipse.e4.ui.model.application.MCommand;
-import org.eclipse.e4.ui.model.application.MContributedPart;
 import org.eclipse.e4.ui.model.application.MHandledItem;
 import org.eclipse.e4.ui.model.application.MHandler;
 import org.eclipse.e4.ui.model.application.MMenu;
@@ -30,12 +29,12 @@
 	}
 
 	protected void activate(MPart part) {
-		System.out.print("Activating"); //$NON-NLS-1$
-		if (part instanceof MContributedPart) {
-			System.out.println(": " + ((MContributedPart) part).getName()); //$NON-NLS-1$
-		} else {
-			System.out.println(" part without name"); //$NON-NLS-1$
-		}
+		//System.out.print("Activating"); //$NON-NLS-1$
+		//if (part instanceof MContributedPart) {
+		//	System.out.println(": " + ((MContributedPart) part).getName()); //$NON-NLS-1$
+		//} else {
+		//	System.out.println(" part without name"); //$NON-NLS-1$
+		//}
 		internalActivate(part, getContext(part));
 	}
 
@@ -45,7 +44,7 @@
 			parent.setActiveChild(part);
 			IEclipseContext parentContext = getContext(parent);
 			if (parentContext != null) {
-				if (context != null) {
+				if (context != null && context != parentContext) {
 					parentContext.set(IServiceConstants.ACTIVE_CHILD, context);
 				}
 				context = parentContext;