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:
parent
e987eaedda
commit
3b58dfd206
1 changed files with 9 additions and 1 deletions
|
@ -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);
|
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 static final int MB_TO_KB_FACTOR = 1024;
|
||||||
private CodeReaderLRUCache cache = null; // the actual cache
|
private CodeReaderLRUCache cache = null; // the actual cache
|
||||||
|
private IResourceChangeListener listener = new UpdateCodeReaderCacheListener(this);
|
||||||
|
|
||||||
private class UpdateCodeReaderCacheListener implements IResourceChangeListener {
|
private class UpdateCodeReaderCacheListener implements IResourceChangeListener {
|
||||||
ICodeReaderCache c = null;
|
ICodeReaderCache c = null;
|
||||||
|
@ -126,7 +127,14 @@ public class CodeReaderCache implements ICodeReaderCache {
|
||||||
public CodeReaderCache(int size) {
|
public CodeReaderCache(int size) {
|
||||||
cache = new CodeReaderLRUCache(size * MB_TO_KB_FACTOR);
|
cache = new CodeReaderLRUCache(size * MB_TO_KB_FACTOR);
|
||||||
if (ResourcesPlugin.getWorkspace() != null)
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue