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

Bug 370798

Summary: Webgui: memory leak in KeyStrokeManager
Product: z_Archived Reporter: Andi Bur <andi.bur>
Component: ScoutAssignee: Project Inbox <scout.core-inbox>
Status: CLOSED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: stephan.leichtvogt
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Andi Bur CLA 2012-02-07 04:44:05 EST
Several Scout RWT composites register key strokes on the KeyStorkeManager. A widget and all its key strokes are put into maps on the KeyStrokeManager. They are however not always removed when the widget is disposed. Hence the KeyStrokeManager keeps references and prevents the garbage collection of disposed UI and model objects.
Comment 1 Andi Bur CLA 2012-02-07 17:41:27 EST
Applied following fixes to remove memory leaks
o Fixed disposing of RwtScoutComposites: key strokes on uiField and uiContainer are now removed whenever the widget is disposed (invoked by dispose listener)
o Removed unnecessary menus on org.eclipse.scout.rt.ui.rap.ext.TextEx.
o Removed unnecessary field on org.eclipse.scout.rt.ui.rap.ext.StyledTextEx.
o Display is removed from workbench after it has been disposed (workaround in AbstractStandaloneRwtEnvironment, since RAP should close the session-scoped workbench itself)
o Key strokes on DropDownButton and DropDownFileUpload are removed after the button has been disposed
o RwtScoutDateField and RwtScoutTimeField do not have to remove the key strokes on their own. It is done by the RwtScoutComposite super class.
o improved KeyStrokemanager
Comment 2 Matthias Zimmermann CLA 2012-07-09 06:50:40 EDT
ticket closed.
deliverd as part of eclipse scout 3.8.0 (juno release train)