Community
Participate
Working Groups
Build Identifier: I20100429-1549 A nullpointer is recived when maximizing views and switching perspective. This could be related to ticket 201293 which was solved in 3.4 java.lang.NullPointerException at org.eclipse.ui.internal.PartStack.smartUnzoom(PartStack.java:1407) at org.eclipse.ui.internal.PartStack$3.runWithException(PartStack.java:1478) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150) at org.eclipse.swt.widgets.Display.syncExec(Display.java:4584) at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:94) at org.eclipse.ui.internal.PartStack.setState(PartStack.java:1471) at org.eclipse.ui.internal.PerspectiveHelper.zoomOut(PerspectiveHelper.java:1430) at org.eclipse.ui.internal.Perspective.setActiveFastView(Perspective.java:1931) at org.eclipse.ui.internal.Perspective.setActiveFastView(Perspective.java:1952) at org.eclipse.ui.internal.Perspective.onDeactivate(Perspective.java:1120) at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:3605) at org.eclipse.ui.internal.WorkbenchPage.busySetPerspective(WorkbenchPage.java:1041) at org.eclipse.ui.internal.WorkbenchPage.access$16(WorkbenchPage.java:1025) at org.eclipse.ui.internal.WorkbenchPage$19.run(WorkbenchPage.java:3715) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:3713) at org.eclipse.ui.internal.PerspectiveBarContributionItem.select(PerspectiveBarContributionItem.java:124) at org.eclipse.ui.internal.PerspectiveBarContributionItem$1.widgetSelected(PerspectiveBarContributionItem.java:93) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2601) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2565) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2399) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:669) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:662) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) Reproducible: Always Steps to Reproduce: 1. open java perspective 2. maximise a view 3. click on one of the icons on the side to show another view. 4. maximise this one. 5. open another perspective.
(In reply to comment #0) > 1. open java perspective > 2. maximise a view > 3. click on one of the icons on the side to show another view. > 4. maximise this one. > 5. open another perspective. Could not reproduce with I20100429-1549 on Windows XP. This is what I tried. 1. Start Eclipse on a new workspace. 2. Close the 'Welcome' view. 3. Select the 'Package Explorer'. 4. Ctrl+M to maximize it. 5. Select the 'Javadoc' view at the bottom right hand corner. 6. Ctrl+M to maximize it. 7. Window > Open Perspective > Debug 8. Nothing in the error log.
(In reply to comment #1) > (In reply to comment #0) > > 1. open java perspective > > 2. maximise a view > > 3. click on one of the icons on the side to show another view. > > 4. maximise this one. > > 5. open another perspective. > > Could not reproduce with I20100429-1549 on Windows XP. This is what I tried. > > 1. Start Eclipse on a new workspace. > 2. Close the 'Welcome' view. > 3. Select the 'Package Explorer'. > 4. Ctrl+M to maximize it. > 5. Select the 'Javadoc' view at the bottom right hand corner. > 6. Ctrl+M to maximize it. > 7. Window > Open Perspective > Debug > 8. Nothing in the error log. The problem seems to work fine when using Ctrl+M. But recreatable when using the icons to maximize.
(In reply to comment #2) > The problem seems to work fine when using Ctrl+M. But recreatable when using > the icons to maximize. By icons I presume you mean by double-clicking the tab, yes? I can reproduce the problem by double-clicking the tab. The only way to get out of this state that I can see is to reset the perspective.
(In reply to comment #3) > (In reply to comment #2) > > The problem seems to work fine when using Ctrl+M. But recreatable when using > > the icons to maximize. > > By icons I presume you mean by double-clicking the tab, yes? I can reproduce > the problem by double-clicking the tab. The only way to get out of this state > that I can see is to reset the perspective. Ether double clicking the tab, or pressing maximum button reproduces it for me.
(In reply to comment #4) > Ether double clicking the tab, or pressing maximum button reproduces it for me. Ah okay, you were talking about the button in the top right part of a given tab (folder).
Dang, I thought I'd covered this one. The fix appears to be to move the 'setActiveFastView(null)' in Perspective#deactivate() above 'presentation.deactivate()' to ensure that there's no fast view open when de-activating the presentation...patch coming.
Created attachment 168919 [details] Patch that closes any open FV before deactivating the perspective Also contains a fix that was causing the originally maximized view (in the real presentation) to become unmaximized.
(In reply to comment #7) > Created an attachment (id=168919) [details] > Patch that closes any open FV before deactivating the perspective +1 I've tested scenarios with views and fastviews from the trim, and the problem has been fixed. PW
(In reply to comment #7) > Created an attachment (id=168919) [details] > Patch that closes any open FV before deactivating the perspective +1, the problem is fixed on Windows XP and the tests are green on my computer.
Committed in >20100519. Applied the patch.
Fixed.
Verified in I20100520-1744.