]
Snjezana Peco resolved JBIDE-3661.
----------------------------------
Resolution: Done
FreeMarker IDE Plugin Hangs Eclipse with "SWTError: No more
handles"
--------------------------------------------------------------------
Key: JBIDE-3661
URL:
https://jira.jboss.org/jira/browse/JBIDE-3661
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: FreeMarker
Environment: All
Reporter: kaliatech
Assignee: Snjezana Peco
The FreeMarker IDE plugin hangs my Eclipse instance after some time when editing larger
FreeMarker templates. The Eclipse workspace log shows multiple exceptions before hanging,
and the errors seem to start from within the FreeMarker plugin. The errors generally
contain a message like "org.eclipse.swt.SWTError: No more handles". See the
forum post for more detail.
I'm not an expert with Eclipse/SWT/Plugin development, but looking through code in
SVN, it doesn't look like the label images used in the Freemarker Outline view tree
are being disposed. The plugin's ImageManager creates the label images that are then
used by the plugin's OutlineLabelProvider. However, I don't see where those
images are ever disposed. My guess is that outline labels are created/reconstructed quite
often, and so more and more images get created but never disposed.
Assuming SWT images are immutable and can be reused, the fix might be as simple as
modifying OutlineLabelProvider to cache the images in a map by the filename. Then, making
sure they are reused on every call to the provider. (Whatever caches the images should
also dispose them when itself is disposed, but if the images are being reused, it probably
doesn't matter much.)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: