Fix for Bug 379299 - Detached Windows cause legalArgumentExceptions
when switching to a new perspective
diff --git a/bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/PartRenderingEngine.java b/bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/PartRenderingEngine.java
index fa9a150..2abfe4c 100644
--- a/bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/PartRenderingEngine.java
+++ b/bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/PartRenderingEngine.java
@@ -187,7 +187,11 @@
 				// Put the control under the 'limbo' shell
 				if (changedElement.getWidget() instanceof Control) {
 					Control ctrl = (Control) changedElement.getWidget();
-					ctrl.getShell().layout(new Control[] { ctrl }, SWT.DEFER);
+
+					if (!(ctrl instanceof Shell)) {
+						ctrl.getShell().layout(new Control[] { ctrl },
+								SWT.DEFER);
+					}
 
 					ctrl.setParent(getLimboShell());
 				}