src/macosx/native/sun/awt/LWCToolkit.m

Print this page

        

*** 53,62 **** --- 53,65 ---- // (directly or via WebStart settings), and AWT should not run its // own event loop in this mode. Even if a loop isn't running yet, // we expect an embedder (e.g. SWT) to start it some time later. static BOOL forceEmbeddedMode = NO; + // Indicates if awt toolkit is embedded into another UI toolkit + static BOOL isEmbedded = NO; + // This is the data necessary to have JNI_OnLoad wait for AppKit to start. static BOOL sAppKitStarted = NO; static pthread_mutex_t sAppKitStarted_mutex = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t sAppKitStarted_cv = PTHREAD_COND_INITIALIZER;
*** 323,334 **** // This will create a NSApplicationAWT for standalone AWT programs, unless there is // already a NSApplication instance. If there is already a NSApplication instance, // and -[NSApplication isRunning] returns YES, AWT is embedded inside another // AppKit Application. NSApplication *app = [NSApplicationAWT sharedApplication]; ! BOOL isEmbedded = ![NSApp isKindOfClass:[NSApplicationAWT class]]; ! [ThreadUtilities setAWTEmbedded:isEmbedded]; if (!isEmbedded) { // Install run loop observers and set the AppKit Java thread name setUpAWTAppKit(true); } --- 326,336 ---- // This will create a NSApplicationAWT for standalone AWT programs, unless there is // already a NSApplication instance. If there is already a NSApplication instance, // and -[NSApplication isRunning] returns YES, AWT is embedded inside another // AppKit Application. NSApplication *app = [NSApplicationAWT sharedApplication]; ! isEmbedded = ![NSApp isKindOfClass:[NSApplicationAWT class]]; if (!isEmbedded) { // Install run loop observers and set the AppKit Java thread name setUpAWTAppKit(true); }
*** 721,725 **** --- 723,738 ---- } return JNI_VERSION_1_4; } + /* + * Class: sun_lwawt_macosx_LWCToolkit + * Method: isEmbedded + * Signature: ()Z + */ + JNIEXPORT jboolean JNICALL + Java_sun_lwawt_macosx_LWCToolkit_isEmbedded + (JNIEnv *env, jclass klass) { + return isEmbedded ? JNI_TRUE : JNI_FALSE; + } +