1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Patch for Devin Steffler.

Fixed Bug 104094 	[CodeReaderCache] Leaks listeners
This commit is contained in:
John Camelon 2005-07-18 14:40:00 +00:00
parent e987eaedda
commit 3b58dfd206

View file

@ -52,6 +52,7 @@ public class CodeReaderCache implements ICodeReaderCache {
public static final String DEFAULT_CACHE_SIZE_IN_MB_STRING = String.valueOf(DEFAULT_CACHE_SIZE_IN_MB);
private static final int MB_TO_KB_FACTOR = 1024;
private CodeReaderLRUCache cache = null; // the actual cache
private IResourceChangeListener listener = new UpdateCodeReaderCacheListener(this);
private class UpdateCodeReaderCacheListener implements IResourceChangeListener {
ICodeReaderCache c = null;
@ -126,7 +127,14 @@ public class CodeReaderCache implements ICodeReaderCache {
public CodeReaderCache(int size) {
cache = new CodeReaderLRUCache(size * MB_TO_KB_FACTOR);
if (ResourcesPlugin.getWorkspace() != null)
ResourcesPlugin.getWorkspace().addResourceChangeListener(new UpdateCodeReaderCacheListener(this));
ResourcesPlugin.getWorkspace().addResourceChangeListener(listener);
}
protected void finalize() throws Throwable {
super.finalize();
if (ResourcesPlugin.getWorkspace() != null)
ResourcesPlugin.getWorkspace().removeResourceChangeListener(listener);
}
/**