Review request for MACOSX_PORT-176: AWT Splashscreen support

Anthony Petrov anthony.petrov at oracle.com
Fri Dec 9 07:13:30 PST 2011


Hi Mike et al.,

Here's the final version of the fix:

http://cr.openjdk.java.net/~anthony/x-3-splashAndOSXGUILib.1/

To summarize essential changes introduced with the fix:

1. The NSApplicationAWT code has been moved to a separate library 
libosxapp.dylib so that it be available from both AWT and splash screen 
code.

2. The QueuingApplicationDelegate class allows us to postpone creating 
the real ApplicationDelegate instance later when AWT has finally started 
up. All the events delivered to the QAD will be posted to the real 
delegate once it's installed.

3. On the Mac the SplashScreen is initialized only after the JVM has 
been started and the main application class has been identified, but, 
obviously, before calling user's main() method. This is because we need 
the main class name to set the app's name in the dock, as well as we 
need to access a couple of Java system properties when an 
NSApplicationAWT instance is created. java.c and java_md.c contain the 
corresponding changes.

4. The splash screen code now uses blocks and [JNFRunLoop 
performOnMainThreadWaiting] method instead of the AppKitThreadHelper 
utility class.

I'm going to push this fix early next week. Thanks in advance for any 
additional reviews!

--
best regards,
Anthony


More information about the macosx-port-dev mailing list