\r
public class JSFunctionExec implements Runnable\r
{\r
- JalviewLite jvlite;\r
+ public JalviewLite jvlite;\r
\r
public JSFunctionExec(JalviewLite applet)\r
{\r
jsExecQueue = jvlite.getJsExecQueue();\r
jvlite.setExecutor(this);\r
}\r
-\r
+ public void finalize() {\r
+ jvlite=null;\r
+ executor=null;\r
+ if (jsExecQueue!=null)\r
+ {\r
+ jsExecQueue.clear();\r
+ }\r
+ jsExecQueue=null;\r
+ }\r
private Vector jsExecQueue;\r
\r
private Thread executor = null;\r
{\r
if (jsExecQueue != null)\r
{\r
+ Vector<JSFunctionExec> q=null;\r
synchronized (jsExecQueue)\r
{\r
- Vector q = jsExecQueue;\r
- q.removeAllElements();\r
+ q = jsExecQueue;\r
jsExecQueue = null;\r
+ }\r
+ if (q!=null ) {\r
+ for (JSFunctionExec jx : q)\r
+ {\r
+ jx.jvlite=null;\r
+ \r
+ }\r
+ q.removeAllElements();\r
synchronized (q)\r
{\r
q.notifyAll();\r
}\r
}\r
- executor = null;\r
}\r
+ jvlite=null;\r
+ executor = null;\r
}\r
\r
public void run()\r