2003/05/08 13:38:40
[org.ibex.core.git] / src / org / xwt / plat / Win32.java
index a6551df..36652fd 100644 (file)
@@ -84,6 +84,14 @@ public class Win32 extends GCJ {
         int maxDescent;
     }
 
+       /** Called once XWT is initialized and the application is running. On Win32, we need to block the main thread
+       *       on a semaphore because if the main thread exits, the whole application quits. */
+       protected void _running() {
+               // gcj-win32 exit()'s when the original thread dies, so we have to deadlock ourselves
+               if (Log.on) Log.log(Main.class, "main thread blocking on new semaphore");
+               new org.xwt.util.Semaphore().block();
+       }
+
     /** takes a parsed font and finds the closest platform-specific font */
     static native Win32Font mapFont(Platform.ParsedFont pf);