Community
Participate
Working Groups
1. Start the compatibility layer. 2. Window > Show View > Properties 3. Select some entries in the 'Package Explorer', the 'Properties' view updates itself correctly. 4. Open a file. 5. Select something in the 'Outline' view, the 'Properties' view updates itself correctly. 6. Close the editor. 7. Select something in the 'Package Explorer'. The 'Properties' view no longer updates itself. Opening editors and selecting things in the 'Outline' view will work. It seems the 'Properties' view has become locked with the 'Outline' view.
Rolling back the fix for bug 308220 didn't help. Rolling back the fix for bug 308194...is unknown, since the compatibility layer becomes unusable. :P
The context chain seems correct (unsurprisingly). So it seems the part service has somehow been removed from the list of observers.
This was not a problem with the context code from 0320. I checked out the compatibility layer from HEAD on a 0320 build, modified the manifests to remove the (then) non-existent DI bundles and reorganized my imports, launched, and cannot reproduce the problem.
Looks like you don't have to use an editor. If I just alternative activating between the 'Package Explorer' view, the 'Problems' view, and the 'Outline' view, then close the 'Problems' view, I no longer get part activation notifications.
Looks like SelectionServiceImpl's getSelection() method is the problem here. After cutting out a bunch of code, if I comment the method to just return null, then I cannot reproduce the error.
Created attachment 164280 [details] ESelectionService patch v1 This patch will workaround the problem.
(In reply to comment #6) > Created an attachment (id=164280) [details] > ESelectionService patch v1 Released to HEAD. I am going to leave this bug open for now though.
I noticed that when switching between Explorer and Outline views, the PropertySheet#partActivated() is called 6 times on each switch: - 2 times with the new part - 2 times with the old part - 2 times with the new part
(In reply to comment #8) > I noticed that when switching between Explorer and Outline views, the > PropertySheet#partActivated() is called 6 times on each switch: > - 2 times with the new part > - 2 times with the old part > - 2 times with the new part This is with code from HEAD including attachment 164280 [details]?
I only see this happen once with code from HEAD.
Created attachment 164377 [details] Patch The patch fixes the problem and reverts SelectionService workaround. The problem was caused by the injection requestors picking extra dependencies when they run in the "update" mode. (That is still a problem and need a change in the way object suppliers communicate with injector; I'll fix that shortly after M5 is declared.) In this case a context picked up via such extra dependency was disposed. The "disposal" event was propagated to the injected object which was happily disconnected from the further changes in the injected context.
Patch applied to CVS Head. I opened bug 308650 for the extra dependencies problem - it's a bit too big of a change to make on the last day of the milestone; I'll change that shortly after M5 is declared.
Created attachment 164391 [details] JUnit test Remy made this JUnit to provide an automated test for the UI side. Patch applied to CVS Head.