<AWT Dev> [8] Review request for 8005465: [macosx] Evaluate if checking for the -XstartOnFirstThread is still needed in awt.m

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Fri Dec 28 08:36:55 PST 2012


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.




More information about the awt-dev mailing list