Interim fix for Bug 335050 - Shared area becomes destroyed after splitting vertically and then splitting the bottom part horizontally
diff --git a/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/cleanupaddon/CleanupAddon.java b/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/cleanupaddon/CleanupAddon.java
index f301c2a..a06e522 100644
--- a/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/cleanupaddon/CleanupAddon.java
+++ b/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/cleanupaddon/CleanupAddon.java
@@ -32,6 +32,7 @@
 import org.eclipse.e4.ui.model.application.ui.menu.MToolBar;
 import org.eclipse.e4.ui.workbench.UIEvents;
 import org.eclipse.e4.ui.workbench.modeling.EModelService;
+import org.eclipse.e4.ui.workbench.renderers.swt.SashLayout;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
@@ -106,6 +107,20 @@
 										.getParent();
 								if (parentContainer != null) {
 									int index = parentContainer.getChildren().indexOf(container);
+
+									// Magic check, are we unwrapping a sash container
+									if (theChild instanceof MPartSashContainer) {
+										if (container.getWidget() instanceof Composite) {
+											Composite theComp = (Composite) container.getWidget();
+											Object tmp = theChild.getWidget();
+											theChild.setWidget(theComp);
+											theComp.setLayout(new SashLayout(theComp, theChild));
+											theComp.setData(AbstractPartRenderer.OWNING_ME,
+													theChild);
+											container.setWidget(tmp);
+										}
+									}
+
 									theChild.setContainerData(container.getContainerData());
 									container.getChildren().remove(theChild);
 									parentContainer.getChildren().add(index, theChild);