diff -r 8b2c10cee766 glass-mat/src/com/sun/glass/ui/win/WinApplication.java --- a/glass-mat/src/com/sun/glass/ui/win/WinApplication.java Tue Aug 09 10:06:00 2011 -0400 +++ b/glass-mat/src/com/sun/glass/ui/win/WinApplication.java Thu Aug 18 13:30:44 2011 -0400 @@ -40,7 +40,20 @@ private native void _terminateLoop(); @Override protected void runLoop(final String args[], final Launchable launchable) { - final Thread toolkitThread = + boolean isEventThread = AccessController + .doPrivileged(new PrivilegedAction() { + public Boolean run() { + Boolean result = Boolean.getBoolean("javafx.embed.isEventThread"); + return result == null ? false : result.booleanValue(); + } + }); + if (isEventThread) { + _init(); + setEventThread(Thread.currentThread()); + launchable.finishLaunching(args); + return; + } + final Thread toolkitThread = AccessController.doPrivileged(new PrivilegedAction() { public Thread run() { Thread th = new Thread(new Runnable() {