Author: nextgens
Date: 2008-01-18 14:08:13 +0000 (Fri, 18 Jan 2008)
New Revision: 17138
Modified:
trunk/apps/Thaw/src/thaw/core/Core.java
trunk/apps/Thaw/src/thaw/plugins/index/Comment.java
trunk/apps/Thaw/src/thaw/plugins/index/Index.java
Log:
Thaw: Fix a memory leak in index comment fetching system
Modified: trunk/apps/Thaw/src/thaw/core/Core.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Core.java 2008-01-18 14:06:32 UTC (rev
17137)
+++ trunk/apps/Thaw/src/thaw/core/Core.java 2008-01-18 14:08:13 UTC (rev
17138)
@@ -143,7 +143,7 @@
"Thaw "+Main.VERSION+" :
"+I18n.getMessage("thaw.statusBar.ready"));
splashScreen.hide();
-
+ splashScreen = null;
mainWindow.setVisible(true);
setTheme(lookAndFeel);
Modified: trunk/apps/Thaw/src/thaw/plugins/index/Comment.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Comment.java 2008-01-18 14:06:32 UTC
(rev 17137)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Comment.java 2008-01-18 14:08:13 UTC
(rev 17138)
@@ -796,8 +796,11 @@
public void update(Observable o, Object param) {
if (o instanceof FCPTransferQuery) {
- if (((FCPTransferQuery)o).isFinished())
- ((Observable)o).deleteObserver(this);
+ if (((FCPTransferQuery)o).isFinished()) {
+ o.deleteObserver(this);
+ ((FCPTransferQuery)o).stop(queueManager);
+ queueManager.remove((FCPTransferQuery)o);
+ }
if (o instanceof FCPClientPut) {
FCPClientPut put = (FCPClientPut)o;
Modified: trunk/apps/Thaw/src/thaw/plugins/index/Index.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2008-01-18 14:06:32 UTC
(rev 17137)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2008-01-18 14:08:13 UTC
(rev 17138)
@@ -1038,6 +1038,8 @@
} else {
nmbFailedCommentFetching++;
}
+
+ c.deleteObserver(this);
if (nmbFailedCommentFetching >
COMMENT_FETCHING_RUNNING_AT_THE_SAME_TIME +1) {
if (indexTree != null) {