2003/10/31 10:57:24
[org.ibex.core.git] / src / org / xwt / js / JS.java
index 256c33a..ebd2e36 100644 (file)
@@ -240,10 +240,10 @@ public abstract class JS {
 
         public static JS.Thread current() { return (JS.Thread)javaThreadToJSThread.get(java.lang.Thread.currentThread()); }
 
-        public void resume() { bind(); paused = false; CompiledFunctionImpl.eval(this); }
+        public Object resume() { bind(); paused = false; Object ret = CompiledFunctionImpl.eval(this); unbind(); return ret; }
         public void pause() { paused = true; unbind(); }
         public void bind() { javaThreadToJSThread.put(java.lang.Thread.currentThread(), this); }
-        public void unbind() { if (current() == this) javaThreadToJSThread.put(java.lang.Thread.currentThread(), this); }
+        public void unbind() { if (current() == this) javaThreadToJSThread.remove(java.lang.Thread.currentThread()); }
         public int getLine() { return currentCompiledFunction == null ? -1 : currentCompiledFunction.getLine(this); }
         public String getSourceName() { return currentCompiledFunction == null ? null : currentCompiledFunction.getSourceName();  }