Bug 471309 - ILabelProvider from DialectUIManager.INSTANCE.getHierarchyLabelProvider(labelProvider) callers are not disposed
Summary: ILabelProvider from DialectUIManager.INSTANCE.getHierarchyLabelProvider(label...
Status: NEW
Alias: None
Product: Sirius
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2015-06-29 07:22 EDT by Esteban DUGUEPEROUX CLA
Modified: 2015-07-03 09:53 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Esteban DUGUEPEROUX CLA 2015-06-29 07:22:17 EDT
ILabelProvider from DialectUIManager.INSTANCE.getHierarchyLabelProvider(labelProvider) callers are not disposed.
For example org.eclipse.sirius.editor.properties.sections.common.AbstractEditorDialogWithListPropertySection.createButtonListener() we create a LabelProvider which use an AdapterFactory which is never disposed. In this case the LabelProvider should be disposed just after dialog close.
Comment 1 Maxime Porhel CLA 2015-06-30 05:11:45 EDT
See oes.editor.properties.sections.common.AbstractEditorDialogWithListPropertySection

See oes.editor.properties.sections.common.AbstractEditorDialogPropertySection
Comment 2 Maxime Porhel CLA 2015-06-30 05:23:28 EDT
Esteban, could add a reproduction scenario ? To guide the tests and homologation.
Comment 3 Esteban DUGUEPEROUX CLA 2015-06-30 07:32:12 EDT
A scenario in debug :
1. Set a breakpoint in each  MinimalEObjectImpl$ArrayDelegatingAdapterList.didAdd()/didAdd() methods
2. Open a odesign with a DiagramDescription, an EdgeMapping with its StyleDescription and a Reconnection tool
3. In the mappings property section of the Reconnection tool, click on "..." button to open the FeatureEditorDialog which use a ILabelProvider from DialectUIManager.INSTANCE.getHierarchyLabelProvider(labelProvider) whose labelProvider is a ComposedAdapterFactory. Open and close several times this dialog and see in debug the number of adapters growing, EdgeMappingItemProvider in this case.