Bug 332498 Regression: Cannot maximize views any more
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 b64e511..c1d8261 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
@@ -3327,10 +3327,27 @@
// HACK!! Constant is defined in MinMaxAddon
String EAMaximizedHack = "Maximized"; //$NON-NLS-1$
- if (eaPH.getTags().contains(EAMaximizedHack)) {
- eaPH.getTags().remove(EAMaximizedHack);
- } else {
- eaPH.getTags().add(EAMaximizedHack);
+
+ MPart model = ((WorkbenchPartReference) ref).getModel();
+ MPlaceholder placeholder = model.getCurSharedRef();
+ switch (modelService.getElementLocation(placeholder == null ? model : placeholder)) {
+ case EModelService.IN_ACTIVE_PERSPECTIVE:
+ MUIElement parent = placeholder == null ? model.getParent() : placeholder.getParent();
+ if (parent instanceof MPartStack) {
+ if (parent.getTags().contains(EAMaximizedHack)) {
+ parent.getTags().remove(EAMaximizedHack);
+ } else {
+ parent.getTags().add(EAMaximizedHack);
+ }
+ }
+ break;
+ case EModelService.IN_SHARED_AREA:
+ if (eaPH.getTags().contains(EAMaximizedHack)) {
+ eaPH.getTags().remove(EAMaximizedHack);
+ } else {
+ eaPH.getTags().add(EAMaximizedHack);
+ }
+ break;
}
}