Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 324730

Summary: CleanupAddon causes parts to be unrendered while performing DND operations
Product: [Eclipse Project] e4 Reporter: Remy Suen <remy.suen>
Component: UIAssignee: Project Inbox <e4.ui-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3    
Version: 1.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Re-order the operations so that the part is already in the new parent stack *before* blowing away th eold one
none
Re-order the operations so that the part is already in the new parent stack *before* blowing away the old none

Description Remy Suen CLA 2010-09-08 08:21:20 EDT
1. Move the 'Package Explorer' to the right below the 'Outline' view so it spawns a new stack.
2. Now drag it and move it to the same stack as the 'Outline'.
3. It will get disposed although it may not be obvious from looking at the part.

Thread [main] (Suspended (breakpoint at line 488 in PartImpl))	
	PartImpl.setWidget(Object) line: 488	
	ContributedPartRenderer(SWTPartRenderer).unbindWidget(MUIElement) line: 112	
	ContributedPartRenderer(SWTPartRenderer).disposeWidget(MUIElement) line: 131	
	PartRenderingEngine.removeGui(MUIElement) line: 532	
	ElementReferenceRenderer.disposeWidget(MUIElement) line: 108	
	PartRenderingEngine.removeGui(MUIElement) line: 532	
	PartRenderingEngine.removeGui(MUIElement) line: 528	
	PartRenderingEngine.removeGui(MUIElement) line: 528	
	PartRenderingEngine$1.handleEvent(Event) line: 128	
	UIEventHandler.handleEvent(Event) line: 41	
	EventHandlerWrapper.handleEvent(Event, Permission) line: 188	
	EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 198	
	EventManager.dispatchEvent(Set, EventDispatcher, int, Object) line: 227	
	ListenerQueue.dispatchEventSynchronous(int, Object) line: 149	
	EventAdminImpl.dispatchEvent(Event, boolean) line: 139	
	EventAdminImpl.sendEvent(Event) line: 78	
	EventComponent.sendEvent(Event) line: 39	
	EventBroker.send(String, Object) line: 73	
	UIEventPublisher.notifyChanged(Notification) line: 58	
	PartSashContainerImpl(BasicNotifierImpl).eNotify(Notification) line: 380	
	PartSashContainerImpl(UIElementImpl).setToBeRendered(boolean) line: 267	
	CleanupAddon$1$1.run() line: 108	
	RunnableLock.run() line: 35	
	UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 134
Comment 1 Eric Moffatt CLA 2010-09-17 16:18:30 EDT
Created attachment 179149 [details]
Re-order the operations so that the part is already in the new parent stack *before* blowing away th eold one
Comment 2 Eric Moffatt CLA 2010-09-17 16:19:52 EDT
Created attachment 179150 [details]
Re-order the operations so that the part is already in the new parent stack *before* blowing away the old
Comment 3 Eric Moffatt CLA 2010-09-17 16:20:49 EDT
Committed in >20100917. Applied the patch.
Comment 4 Eric Moffatt CLA 2010-09-17 16:21:18 EDT
Marking this one as FIXED.