[
https://issues.jboss.org/browse/JBIDE-10247?page=com.atlassian.jira.plugi...
]
Viacheslav Kabanovich commented on JBIDE-10247:
-----------------------------------------------
I cannot see the problem with this class.
Take handling 'rightButton' as an example:
{code}
Image rightImage = rightDesc.createImage();
rightButton.setImage(rightImage);
rightButton.setEnabled(false);
rightButton.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
Button button = (Button) e.getSource();
button.getImage().dispose();
}
});
{code}
The dispose listener takes button.getImage() and it returns rightImage because that image
is never replaced. Vitali, what may cause leak here?
org.jboss.tools.jst.css:
org.jboss.tools.jst.css.dialog.selector.CSSSelectorPartComposite has 4 Image leaks
-----------------------------------------------------------------------------------------------------------
Key: JBIDE-10247
URL:
https://issues.jboss.org/browse/JBIDE-10247
Project: Tools (JBoss Tools)
Issue Type: Sub-task
Components: common/jst/core
Affects Versions: 3.3.0.M4
Reporter: Vitali Yemialyanchyk
Assignee: Viacheslav Kabanovich
Fix For: 3.3.0.Beta1
try to test with "Sleak" tool - should get at least 4 images leak:
line 357: rightButton.setEnabled(false);
line 371: leftButton.setEnabled(false);
line 384: upButton.setEnabled(false);
line 397: downButton.setEnabled(false);
- these lines responsible for image leaks. To avoid leaks you should call dispose
directly in proper place:
rightButton.dispose();
leftButton.dispose();
upButton.dispose();
downButton.dispose();
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira