| Summary: | SWTException from tool item dropdowns after closing/reopening perspectives | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] e4 | Reporter: | Remy Suen <remy.suen> | ||||
| Component: | UI | Assignee: | Remy Suen <remy.suen> | ||||
| Status: | VERIFIED FIXED | QA Contact: | Paul Webster <pwebster> | ||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | Olivier_Thomann | ||||
| Version: | 1.0 | ||||||
| Target Milestone: | 4.1 M4 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Remy Suen
This is where we dispose the menu. Thread [main] (Suspended (breakpoint at line 1130 in Menu)) Menu.releaseHandle() line: 1130 Menu.destroyWidget() line: 599 Menu(Widget).release(boolean) line: 818 Menu(Widget).dispose() line: 446 RunToolbarAction(AbstractLaunchHistoryAction).setMenu(Menu) line: 323 RunToolbarAction(AbstractLaunchHistoryAction).dispose() line: 260 ActionDelegateHandlerProxy.disposeDelegate() line: 250 ActionDelegateHandlerProxy.dispose() line: 240 MenuHelper$3$1.dispose() line: 558 ToolItemRenderer$9.widgetDisposed(DisposeEvent) line: 452 TypedListener.handleEvent(Event) line: 123 EventTable.sendEvent(Event) line: 84 ToolItem(Widget).sendEvent(Event) line: 1053 ToolItem(Widget).sendEvent(int, Event, boolean) line: 1077 ToolItem(Widget).sendEvent(int) line: 1058 ToolItem(Widget).release(boolean) line: 808 ToolItem(Widget).dispose() line: 446 ToolBarRenderer.hideChild(MElementContainer<MUIElement>, MUIElement) line: 138 PartRenderingEngine.safeRemoveGui(MUIElement) line: 603 PartRenderingEngine.access$1(PartRenderingEngine, MUIElement) line: 592 PartRenderingEngine$5.run() line: 587 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.removeGui(MUIElement) line: 573 PartRenderingEngine$1.handleEvent(Event) line: 133 UIEventHandler.handleEvent(Event) line: 41 EventHandlerWrapper.handleEvent(Event, Permission) line: 197 EventHandlerTracker.dispatchEvent(EventHandlerWrapper, Permission, int, Event) line: 197 EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 1 EventManager.dispatchEvent(Set<Entry<K,V>>, EventDispatcher<K,V,E>, int, E) line: 230 ListenerQueue<K,V,E>.dispatchEventSynchronous(int, E) line: 148 EventAdminImpl.dispatchEvent(Event, boolean) line: 135 EventAdminImpl.sendEvent(Event) line: 78 EventComponent.sendEvent(Event) line: 39 EventBroker.send(String, Object) line: 73 UIEventPublisher.notifyChanged(Notification) line: 58 HandledToolItemImpl(BasicNotifierImpl).eNotify(Notification) line: 380 HandledToolItemImpl(UIElementImpl).setToBeRendered(boolean) line: 288 ToolBarRenderer$2.changed(IEclipseContext) line: 240 TrackableComputationExt.update(ContextChangeEvent) line: 91 EclipseContext.processScheduled(List<Scheduled>) line: 326 EclipseContext.set(String, Object) line: 343 ContextContextService.deactivateContext(String) line: 72 WorkbenchPage$2.handleEvent(Event) line: 2032 UIEventHandler.handleEvent(Event) line: 41 EventHandlerWrapper.handleEvent(Event, Permission) line: 197 EventHandlerTracker.dispatchEvent(EventHandlerWrapper, Permission, int, Event) line: 197 EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 1 EventManager.dispatchEvent(Set<Entry<K,V>>, EventDispatcher<K,V,E>, int, E) line: 230 ListenerQueue<K,V,E>.dispatchEventSynchronous(int, E) line: 148 EventAdminImpl.dispatchEvent(Event, boolean) line: 135 EventAdminImpl.sendEvent(Event) line: 78 EventComponent.sendEvent(Event) line: 39 EventBroker.send(String, Object) line: 73 UIEventPublisher.notifyChanged(Notification) line: 58 PerspectiveStackImpl(BasicNotifierImpl).eNotify(Notification) line: 380 PerspectiveStackImpl.setSelectedElement(MPerspective) line: 144 PerspectiveStackImpl.setSelectedElement(MUIElement) line: 1 ModelServiceImpl.removePerspectiveModel(MPerspective, MWindow) line: 656 WorkbenchPage.close(boolean, boolean) line: 1228 WorkbenchPage.closeAllPerspectives(boolean, boolean) line: 1209 WorkbenchPage.closePerspective(IPerspectiveDescriptor, String, boolean, boolean) line: 1196 WorkbenchPage.closePerspective(IPerspectiveDescriptor, boolean, boolean) line: 1185 ClosePerspectiveHandler.execute(ExecutionEvent) line: 39 This is the 3.x trace. So calling dispose() seems appropriate in this context. Thread [main] (Suspended (breakpoint at line 260 in AbstractLaunchHistoryAction)) RunHistoryMenuAction(AbstractLaunchHistoryAction).dispose() line: 260 WWinPluginPulldown(PluginAction).disposeDelegate() line: 354 WWinPluginPulldown(PluginAction).dispose() line: 368 WWinPluginPulldown(WWinPluginAction).dispose() line: 203 PluginActionSet.dispose() line: 75 ActionPresentation.removeActionSet(IActionSetDescriptor) line: 88 ActionPresentation.clearActionSets() line: 69 WorkbenchWindow.updateActionSets() line: 3257 WorkbenchWindow$27.run() line: 3014 BusyIndicator.showWhile(Display, Runnable) line: 70 WorkbenchWindow.setActivePage(IWorkbenchPage) line: 2975 WorkbenchWindow.closePage(IWorkbenchPage, boolean) line: 898 WorkbenchPage$4.run() line: 1155 BusyIndicator.showWhile(Display, Runnable) line: 70 WorkbenchPage.close() line: 1153 WorkbenchPage.closePerspective(Perspective, Perspective, boolean, boolean) line: 1589 WorkbenchPage.closePerspective(Perspective, boolean, boolean) line: 1504 WorkbenchPage.closePerspective(IPerspectiveDescriptor, boolean, boolean) line: 1459 ClosePerspectiveHandler.execute(ExecutionEvent) line: 40 1. Click the 'Run' tool item's dropdown arrow. 2. Window > Open Perspective > Other... > CVS Repository Exploring 3. Window > Open Perspective > Other... > Java 4. Repeat step 1. Same thing. Created attachment 183570 [details]
ToolItemRenderer patch v1
(In reply to comment #4) > Created an attachment (id=183570) [details] > ToolItemRenderer patch v1 Patch released to CVS HEAD. *** Bug 331136 has been marked as a duplicate of this bug. *** Verified with I20101207-0250 on Windows XP. |