X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FMain.java;h=630e04e0eb992317a2c63f28ee6376ed000c3dab;hb=03c6ebff898c151dcf5954dc398ac9be74d31ede;hp=a94ca81f553a46288abca58d71ce604d5fad4b80;hpb=893121e047335a0ce5a911ab838c688f60c15436;p=org.ibex.core.git diff --git a/src/org/xwt/Main.java b/src/org/xwt/Main.java index a94ca81..630e04e 100644 --- a/src/org/xwt/Main.java +++ b/src/org/xwt/Main.java @@ -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; @@ -49,22 +52,24 @@ public class Main extends Applet { int startargs = 0; while (true) { if (startargs > args.length - 1) { - System.out.println("Usage: xwt [-s] [-v] source-location [initial-template]"); - System.out.println(""); - System.out.println("Options:"); - System.out.println(" -s show rendering activity with red rectangles"); - System.out.println(" -v verbose logging"); - System.out.println(""); - System.out.println("Source-location is one of the following:"); - System.out.println(" - the path to an xwar file"); - System.out.println(" - the path to a directory to be used as an xwar"); - System.out.println(" - the http url of an xwar"); - System.out.println(""); - System.out.println("Initial-template is the resource name of the template to load; defaults to 'main'"); + System.err.println("Usage: xwt [-s] [-v] [-l /] source-location [initial-template]"); + System.err.println(""); + System.err.println("Options:"); + System.err.println(" -s show rendering activity with red rectangles"); + System.err.println(" -v verbose logging"); + System.err.println(" -l serve logs via HTTP on 127.0.0.1:/"); + System.err.println(""); + System.err.println("Source-location is one of the following:"); + System.err.println(" - the path to an xwar file"); + System.err.println(" - the path to a directory to be used as an xwar"); + System.err.println(" - the http url of an xwar"); + System.err.println(""); + System.err.println("Initial-template is the resource name of the template to load; defaults to 'main'"); Runtime.getRuntime().exit(-1); } else if (args[startargs].equals("-s")) showRenders = true; else if (args[startargs].equals("-v")) Log.verbose = true; + else if (args[startargs].equals("-l")) startargs++; // FIXME else break; startargs++; } @@ -115,6 +120,11 @@ public class Main extends Applet { ThreadMessage.newthread(new JSObject.JSFunction() { 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; } });