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

Bug 318365

Summary: Cleanup uninjection code
Product: z_Archived Reporter: Oleg Besedin <ob1.eclipse>
Component: E4Assignee: Project Inbox <e4.runtime-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: emoffatt, ob1.eclipse
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Oleg Besedin CLA 2010-06-29 14:27:42 EDT
The uninjection code:

1) works differently from most other paths: ContextInjectionFactory#uninject() is using internal functionality rather then IInjector;

2) sends events to all injected objects rathern then *the* object as [generic] listeners don't know which objects they are for

We likely need to start storing the injected object in the RunAndTrackExt and then only call #update() methods if the objects match.

The PrimaryObjectSupplier likely needs to get a new method - #forget(Object) ? - that would cause EclipseContext to drop links to the specified object.