2003/02/12 06:36:11
[org.ibex.core.git] / src / org / xwt / Main.java
index 3fe68af..eaa4ab8 100644 (file)
@@ -35,6 +35,9 @@ public class Main extends Applet {
 
     public static Applet applet = null;
 
+    /** don't check if all surfaces are gone (and quit) until this is true */
+    public static boolean doneInitializing = false;
+
     /** applet entry point */
     public void init() {
         if ("true".equals(getParameter("showRenders"))) showRenders = true;
@@ -113,8 +116,13 @@ public class Main extends Applet {
             if (Log.on) Log.log(Main.class, "instantiating " + initialTemplate);
             final String initialTemplate_f = initialTemplate;
             ThreadMessage.newthread(new JSObject.JSFunction() {
-                    public Object call(Context cx, Scriptable thisObj, Scriptable ctorObj, Object[] args) throws JavaScriptException {
+                    public Object call(Context cx, Scriptable thisObj, Scriptable ctorObj, Object[] arg) throws JavaScriptException {
                         new Box(initialTemplate_f, null);
+            doneInitializing = true;
+            if (Surface.allSurfaces.size() == 0) {
+                Log.log(this, "exiting because all surfaces are gone");
+                Platform.exit();
+            }
                         return null;
                     }
                 });