org.jboss.tools.common.model has potential Image leaks
------------------------------------------------------
Key: JBIDE-10231
URL:
https://issues.jboss.org/browse/JBIDE-10231
Project: Tools (JBoss Tools)
Issue Type: Sub-task
Components: common/jst/core
Affects Versions: 3.3.0.M4
Reporter: Vitali Yemialyanchyk
Assignee: Alexey Kazakov
Priority: Minor
small note -> org.jboss.tools.common.model.icons.impl.XStudioIcons:
{code}
public Image getImage(XModelObject obj) { <----------------
this function create Image and does not dispose it - so real name should sounds like
createImage(...)
String s = obj.getAttributeValue("image"); //$NON-NLS-1$
byte[] b = decode(s);
if(b != null) {
try {
ByteArrayInputStream is = new ByteArrayInputStream(b);
ImageData id = new ImageData(is);
Image i = new Image(null, id); <---- create image here
return i;
} catch (SWTException e) {
ModelPlugin.getPluginLog().logError(e);
} catch (SWTError e) {
ModelPlugin.getPluginLog().logError(e);
}
}
return
obj.getModelEntity().getMetaModel().getIconList().getImage("default.unknown");
//$NON-NLS-1$
}
{code}
org.jboss.tools.common.model.icons.impl.XModelObjectIcon
{code}
private static Hashtable<String,Image> cacheEclipse = new
Hashtable<String,Image>();
{code}
all images which XStudioIcons creates --> in cacheEclipse.
but what is happens if you reload org.jboss.tools.common.model plugin? I do not sure, but
look like you'll get resource leak here.
may be a better choise is to use AbstractUIPlugin.getImageRegistry(), i.e.
ModelPlugin.getDefault().getImageRegistry()
--
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