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;
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;
}
});
_dispose();
// quit when all windows are closed
- if (allSurfaces.size() == 0 && quitIfAllSurfacesGone) {
+ if (allSurfaces.size() == 0 && quitIfAllSurfacesGone && Main.doneInitializing) {
if (Log.on) {
if (refreshableSurfaceWasCreated) Log.log(this, "exiting because last remaining surface was disposed");
else Log.log(this, "exiting because no surface was ever created");