Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 320100 - Package Explorer unexpectedly added to Debug perspective
Summary: Package Explorer unexpectedly added to Debug perspective
Status: RESOLVED FIXED
Alias: None
Product: e4
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 1.0 RC2   Edit
Assignee: Eric Moffatt CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-16 08:53 EDT by Stefan Mücke CLA
Modified: 2010-07-16 10:37 EDT (History)
2 users (show)

See Also:


Attachments
Ensure that the ActivationJob only tries to activate if it's in the *currently active* perspective (2.20 KB, patch)
2010-07-16 10:34 EDT, Eric Moffatt CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Mücke CLA 2010-07-16 08:53:56 EDT
1. Open a fresh e4 workbench
2. Leave the Package Explorer activated
3. Open the Debug perspective

Result: The Debug perspective contains the Package Explorer, although this should not be the case.

This does not happen when another view is activated before opening the Debug perspective.
Comment 1 Remy Suen CLA 2010-07-16 08:57:51 EDT
Cannot reproduce on I20100714-2048 or with my inner Eclipse.
Comment 2 Stefan Mücke CLA 2010-07-16 09:02:40 EDT
Sorry, this bug is perhaps related to the patch from bug 319961.
I am currently using CVS HEAD with that patch applied.
Comment 3 Remy Suen CLA 2010-07-16 09:04:46 EDT
(In reply to comment #2)
> Sorry, this bug is perhaps related to the patch from bug 319961.
> I am currently using CVS HEAD with that patch applied.

Please try reproducing with the patch reverted. If you cannot, please close this bug and log your findings on bug 319961. Thanks.
Comment 4 Stefan Mücke CLA 2010-07-16 09:21:01 EDT
I can reproduce this with CVS HEAD (without the patch from bug 319961).
Comment 5 Remy Suen CLA 2010-07-16 09:29:28 EDT
(In reply to comment #4)
> I can reproduce this with CVS HEAD (without the patch from bug 319961).

Someone else will have to test it then. I cannot reproduce this problem.

1. Delete my target workspace.
2. Launch my inner.
3. Window > Open Perspective > Debug
4. Looks good to me.
Comment 6 Remy Suen CLA 2010-07-16 09:31:29 EDT
(In reply to comment #5)
> 1. Delete my target workspace.
> 2. Launch my inner.
>> 3. Use the perspective switcher in the trim to switch to the 'Debug' perspective.
> 4. Looks good to me.

You need to use the perspective switcher to reproduce the problem.
Comment 7 Boris Bokowski CLA 2010-07-16 09:42:30 EDT
Does this happen only when running with the patch from bug 319961?
Comment 8 Boris Bokowski CLA 2010-07-16 09:44:09 EDT
(In reply to comment #7)
> Does this happen only when running with the patch from bug 319961?

Sorry for the spam, I should have read all the existing comments before asking.
Comment 9 Eric Moffatt CLA 2010-07-16 10:03:00 EDT
Here's the stack from when the bogus PE is being added to the stack...the suspicious code here is that the ActivationJob is apparently trying to re-activate the PE since the dialog has gone away and it was the last active part (it doesn't know that while the dialog was up there was a perspective switch...


Thread [main] (Suspended (breakpoint at line 279 in StackRenderer))	
	StackRenderer.createTab(MElementContainer<MUIElement>, MUIElement) line: 279	
	StackRenderer.childRendered(MElementContainer<MUIElement>, MUIElement) line: 334	
	PartRenderingEngine.createGui(MUIElement, Object, IEclipseContext) line: 427	
	PartRenderingEngine.createGui(MUIElement) line: 479	
	PartRenderingEngine$1.handleEvent(Event) line: 120	
	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	
	PlaceholderImpl(BasicNotifierImpl).eNotify(Notification) line: 380	
	PlaceholderImpl(UIElementImpl).setToBeRendered(boolean) line: 267	
	ModelServiceImpl.bringToTop(MWindow, MUIElement) line: 222	
	PartServiceImpl.activate(MPart) line: 394	
	StackRenderer(AbstractPartRenderer).activate(MPart) line: 105	
	StackRenderer$ActivationJob.run() line: 84	
	RunnableLock.run() line: 35	
	UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 134
Comment 10 Eric Moffatt CLA 2010-07-16 10:34:07 EDT
Created attachment 174500 [details]
Ensure that the ActivationJob only tries to activate if it's in the *currently active* perspective


We likely want to make a review of all of our 'activation' policies post-release...
Comment 11 Eric Moffatt CLA 2010-07-16 10:35:22 EDT
Committed in >20100716. Applied the patch.
Comment 12 Eric Moffatt CLA 2010-07-16 10:37:24 EDT
I'm still not sure how/why this regression showed up though...