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