Community
Participate
Working Groups
1) Set a breakpoint in org.eclipse.jface.action.StatusLineManager.update(boolean) 2) Start a runtime workbench - update will be called to create the new status bar 3) Close the runtime workbench - update will be called to recreate the status bar In WorkbenchPage, the partDeactivated listener will call status line manager update(). If the status bar is not dirty, this is fine. However, when a workbench window is closed, some controls are disposed, making the status bar as being dirty. The update() call happens after it is marked dirty, but before the status line manager is disposed. The update call will dispose each control in the status bar, then recreate them (calling fill() on each contribution). Before calling update() from the partDeactivation listener we can check if the window is being closed and skip updating. The controls will still be disposed (either from the shell disposing or when the status line manager is disposed).
Pushed a possible fix to https://git.eclipse.org/r/15373 PW
Approved the fix for master http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=25a15c42431b76ae264e67836e07056d99b46c53
Verified fixed in 4.4 M2 (4.4.0.I20130916-2330)