Review request for MACOSX_PORT-176: AWT Splashscreen support
Eric Richardson
ekrichardson at gmail.com
Fri Dec 9 12:35:14 PST 2011
Hi Anthony,
Not an expert or anything - just taking a peek - looks pretty clean. Found
one comment that seems to need rewording.
490 #ifdef MACOSX
491 // if we got here, we know that "what" is a main class, and it has
been loaded
492 SetMainClassForAWT(env, mainClass);
493 jvmInstance = vm;
494 ShowSplashScreen();
495 #endif
Eric
On Fri, Dec 9, 2011 at 7:13 AM, Anthony Petrov <anthony.petrov at oracle.com>wrote:
> Hi Mike et al.,
>
> Here's the final version of the fix:
>
> http://cr.openjdk.java.net/~**anthony/x-3-**splashAndOSXGUILib.1/<http://cr.openjdk.java.net/%7Eanthony/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