[jbosstools-issues] [JBoss JIRA] (JBIDE-10247) org.jboss.tools.jst.css: org.jboss.tools.jst.css.dialog.selector.CSSSelectorPartComposite has 4 Image leaks

Viacheslav Kabanovich (Commented) (JIRA) jira-events at lists.jboss.org
Wed Dec 14 21:07:09 EST 2011


    [ https://issues.jboss.org/browse/JBIDE-10247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12651126#comment-12651126 ] 

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

        


More information about the jbosstools-issues mailing list