Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 370798 - Webgui: memory leak in KeyStrokeManager
Summary: Webgui: memory leak in KeyStrokeManager
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Scout (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-07 04:44 EST by Andi Bur CLA
Modified: 2021-08-19 11:06 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 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)