Merge remote-tracking branch 'origin/R4_2_maintenance'
diff --git a/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/minmax/TrimStack.java b/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/minmax/TrimStack.java
index 35423f9..ed93855 100644
--- a/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/minmax/TrimStack.java
+++ b/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/minmax/TrimStack.java
@@ -311,7 +311,8 @@
MUIElement changedElement = (MUIElement) event.getProperty(UIEvents.EventTags.ELEMENT);
// Open if shared area
- if (getLeafPart(minimizedElement) == changedElement) {
+ if (getLeafPart(minimizedElement) == changedElement
+ && !(minimizedElement instanceof MPerspectiveStack)) {
showStack(true);
return;
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java
index c9e6672..c7c5ee6 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java
@@ -2992,6 +2992,8 @@
WorkbenchMessages.EditorManager_unknownEditorIDMessage, editorId));
}
+ setEditorAreaVisible(true);
+
IEditorReference[] editorReferences = findEditors(input, editorId, matchFlags);
if (editorReferences.length != 0) {
IEditorPart editor = editorReferences[0].getEditor(true);
@@ -3502,6 +3504,12 @@
// make sure it's been rendered if it hasn't been
find.setToBeRendered(true);
}
+
+ // If the EA is minimized, restore it...
+ if (showEditorArea) {
+ find.getTags().remove(IPresentationEngine.MINIMIZED);
+ }
+
find.setVisible(showEditorArea);
}
}