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

Bug 577702

Summary: Memory-Leak: Grid.rowHeadersColumn does not get disposed
Product: [RT] RAP Reporter: Stefan Weiser <stefanfranz.weiser>
Component: RWTAssignee: Project Inbox <rap.incubator-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.18   
Target Milestone: 3.20   
Hardware: PC   
OS: Windows 10   
See Also: https://git.eclipse.org/r/c/rap/org.eclipse.rap/+/188816
https://git.eclipse.org/c/rap/org.eclipse.rap.git/commit/?id=88bfe7da6d781ed9715adc4fe9b789fde958bc64
Whiteboard:

Description Stefan Weiser CLA 2021-12-09 01:23:16 EST
Each instance of org.eclipse.nebula.widgets.grid.Grid creates a GridColumn for the row header: rowHeadersColumn. This column is defined as internal column and therefore not taken over into the list of Grid.columns (also see Grid.isInternalColumn). When the Grid gets disposed (see Grid.onDispose(Event)) all non-internal columns gets disposed in a foreach loop but the rowHeadersColumn does not get disposed. Therefore, each instance of Grid is leaking in the memory.

I simply fixed this by calling rowHeadersColumn.dispose() in Grid.onDispose(Event). 

This occurs on each Grid. It can easily be reproduced by creating an empty Grid and disposing it again.
Comment 1 Eclipse Genie CLA 2021-12-14 07:02:29 EST
New Gerrit change created: https://git.eclipse.org/r/c/rap/org.eclipse.rap/+/188816