Bug 318363 [UI] Closing Perspectives changes others
If you open the Debug perspective and then close it the Package Explorer disappears. Root cause was that I opened the second perspective using the perspective switcher which performed the operation 'locally' rather than going through the WorkbenchPage#setPerspective code. This meant that the 'openPerspectives' list wasn't updated which meant that the 'closePerspective' call delegated to 'closeAllPerspectives' since it thought there was only one open.
bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/minmax/TrimStack.java
showStack(false);
			}
		}
	};
	@Inject
	EModelService modelService;
	@Inject
	EPartService partService;
	@Inject
	MWindow window;
	@Inject
	MToolControl toolControl;
	@Inject
	protected IEventBroker eventBroker;
	private EventHandler selectionHandler = new EventHandler() {
		public void handleEvent(org.osgi.service.event.Event event) {
			MUIElement changedElement = (MUIElement) event.getProperty(UIEvents.EventTags.ELEMENT);
			if (changedElement != theStack)
				return;
			if (hostPane != null && hostPane.isVisible())
				updateSelection(theStack.getSelectedElement());
		}
	};
	private EventHandler toBeRenderedHandler = new EventHandler() {
		public void handleEvent(org.osgi.service.event.Event event) {
			if (theStack == null || trimStackTB == null)
				return;
			MUIElement changedElement = (MUIElement) event.getProperty(UIEvents.EventTags.ELEMENT);
			MUIElement parentElement = changedElement.getParent();
			if (theStack == null || trimStackTB == null || parentElement != theStack)