Hi, Anthony.
28.12.2012 17:17, Anthony Petrov wrote:
Hello,
Please review a fix for http://bugs.sun.com/view_bug.do?bug_id=8005465
at:
http://cr.openjdk.java.net/~anthony/8-52-startOnFirstThreadCheck-8005465.0/
With this fix AWT can be embedded into other GUI toolkits.
Specifically, this fix is needed in order to be able to initialize and
run AWT after an FX application has already been started.
We achieve this by:
1. Eliminating a check for the -XstartOnFirstThread presence. It
doesn't make sense to check this flag because the AWT initializer is
able to do its job on any thread anyway. The only change in logic is
that we no longer call the NSApplicationLoad() function, but it isn't
necessary since we're not going to be embedded into a Carbon app
anyway - all modern toolkits are Cocoa-based, and we assume that the
embedder has already created its NSApplication instance. If not, well,
they'll have to live with the NSApplicationAWT then.
This change looks fine.
2. Introducing an AWTKeepAlive thread activated in the embedded mode
only. This thread will send an event to the native event queue every
500ms as long as there are active AWT objects present. This activity
will notify the embedder toolkit that the Java application as a whole
is still alive and needs not exit yet.
Why it wasn't necessary for awt-swt bridge?
--
best regards,
Anthony
--
Best regards, Sergey.