Community
Participate
Working Groups
The problem is that WorkbenchPage#closePerspective first checks to see if the 'openedPerspectives' collection has a single element and, if so, calls 'closeAllPerspectives'. It appears that this field is not correctly set on a restart (it only contains the previously active perspective even though I had 4 perspectives open). There is also a secondary issue with closing a perspective that has never been rendered, we get an NPE in the PerspectiveSwitcher's 'closePerspective' call while trying to retrieve its context.
Created attachment 174657 [details] Use the MPerspective stack's list of children rather than an internal collection Also safes up the Perspective switcher by using the perspective's containing window's context to avoid cases where the perspective itself hasn't been rendered (so its context == null).
Eric, please also see bug 320320. Is this the same thing? I know I was resetting a perspective with multiple perspectives open.
(In reply to comment #1) > Created an attachment (id=174657) [details] > Use the MPerspective stack's list of children rather than an internal > collection This patch looks safe to me, +1 for RC3.
Patch looks good.
Committed in >20100720. Applied the patch (after merging in a change for bug 320327).
Verified on XP in I20100726-2152.