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

Print this page

        

*** 513,526 **** * Signature: ()V */ JNIEXPORT void JNICALL Java_com_apple_eawt_Application_nativeInitializeApplicationDelegate (JNIEnv *env, jclass clz) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); // Force initialization to happen on AppKit thread! ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [ApplicationDelegate sharedDelegate]; }]; JNF_COCOA_EXIT(env); } --- 513,525 ---- * Signature: ()V */ JNIEXPORT void JNICALL Java_com_apple_eawt_Application_nativeInitializeApplicationDelegate (JNIEnv *env, jclass clz) { JNF_COCOA_ENTER(env); // Force initialization to happen on AppKit thread! ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [ApplicationDelegate sharedDelegate]; }]; JNF_COCOA_EXIT(env); }
*** 530,543 **** * Signature: ()V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppEventHandler_nativeOpenCocoaAboutWindow (JNIEnv *env, jclass clz) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [NSApp orderFrontStandardAboutPanel:nil]; }]; JNF_COCOA_EXIT(env); } --- 529,541 ---- * Signature: ()V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppEventHandler_nativeOpenCocoaAboutWindow (JNIEnv *env, jclass clz) { JNF_COCOA_ENTER(env); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [NSApp orderFrontStandardAboutPanel:nil]; }]; JNF_COCOA_EXIT(env); }
*** 548,561 **** * Signature: (Z)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppEventHandler_nativeReplyToAppShouldTerminate (JNIEnv *env, jclass clz, jboolean doTerminate) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [NSApp replyToApplicationShouldTerminate:doTerminate]; }]; JNF_COCOA_EXIT(env); } --- 546,558 ---- * Signature: (Z)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppEventHandler_nativeReplyToAppShouldTerminate (JNIEnv *env, jclass clz, jboolean doTerminate) { JNF_COCOA_ENTER(env); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [NSApp replyToApplicationShouldTerminate:doTerminate]; }]; JNF_COCOA_EXIT(env); }
*** 566,576 **** * Signature: (I)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppEventHandler_nativeRegisterForNotification (JNIEnv *env, jclass clz, jint notificationType) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); [ThreadUtilities performOnMainThread:@selector(_registerForNotification:) onObject:[ApplicationDelegate class] withObject:[NSNumber numberWithInt:notificationType] waitUntilDone:NO --- 563,572 ----
*** 584,600 **** * Signature: (J)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeSetDockMenu (JNIEnv *env, jclass clz, jlong nsMenuPtr) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); NSMenu *menu = (NSMenu *)jlong_to_ptr(nsMenuPtr); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ ! AWT_ASSERT_APPKIT_THREAD; ! [ApplicationDelegate sharedDelegate].fDockMenu = menu; }]; JNF_COCOA_EXIT(env); } --- 580,593 ---- * Signature: (J)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeSetDockMenu (JNIEnv *env, jclass clz, jlong nsMenuPtr) { JNF_COCOA_ENTER(env); NSMenu *menu = (NSMenu *)jlong_to_ptr(nsMenuPtr); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ [ApplicationDelegate sharedDelegate].fDockMenu = menu; }]; JNF_COCOA_EXIT(env); }
*** 605,619 **** * Signature: (J)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeSetDockIconImage (JNIEnv *env, jclass clz, jlong nsImagePtr) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); NSImage *_image = (NSImage *)jlong_to_ptr(nsImagePtr); ! [JNFRunLoop performOnMainThread:@selector(_setDockIconImage:) on:[ApplicationDelegate class] withObject:_image waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 598,611 ---- * Signature: (J)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeSetDockIconImage (JNIEnv *env, jclass clz, jlong nsImagePtr) { JNF_COCOA_ENTER(env); NSImage *_image = (NSImage *)jlong_to_ptr(nsImagePtr); ! [ThreadUtilities performOnMainThread:@selector(_setDockIconImage:) on:[ApplicationDelegate class] withObject:_image waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 627,642 **** JNIEXPORT jlong JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeGetDockIconImage (JNIEnv *env, jclass clz) { __block NSImage *image = nil; - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ ! AWT_ASSERT_APPKIT_THREAD; ! image = [ApplicationDelegate _dockIconImage]; CFRetain(image); }]; JNF_COCOA_EXIT(env); --- 619,631 ---- JNIEXPORT jlong JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeGetDockIconImage (JNIEnv *env, jclass clz) { __block NSImage *image = nil; JNF_COCOA_ENTER(env); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ image = [ApplicationDelegate _dockIconImage]; CFRetain(image); }]; JNF_COCOA_EXIT(env);
*** 650,666 **** * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeSetDockIconBadge (JNIEnv *env, jclass clz, jstring badge) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); NSString *badgeString = JNFJavaToNSString(env, badge); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ ! AWT_ASSERT_APPKIT_THREAD; ! NSDockTile *dockTile = [NSApp dockTile]; [dockTile setBadgeLabel:badgeString]; [dockTile display]; }]; --- 639,652 ---- * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeSetDockIconBadge (JNIEnv *env, jclass clz, jstring badge) { JNF_COCOA_ENTER(env); NSString *badgeString = JNFJavaToNSString(env, badge); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ NSDockTile *dockTile = [NSApp dockTile]; [dockTile setBadgeLabel:badgeString]; [dockTile display]; }];
*** 673,688 **** * Signature: (Z)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMiscHandlers_nativeRequestActivation (JNIEnv *env, jclass clz, jboolean allWindows) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ ! AWT_ASSERT_APPKIT_THREAD; ! NSApplicationActivationOptions options = allWindows ? NSApplicationActivateAllWindows : 0; options |= NSApplicationActivateIgnoringOtherApps; // without this, nothing happens! [[NSRunningApplication currentApplication] activateWithOptions:options]; }]; --- 659,671 ---- * Signature: (Z)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMiscHandlers_nativeRequestActivation (JNIEnv *env, jclass clz, jboolean allWindows) { JNF_COCOA_ENTER(env); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ NSApplicationActivationOptions options = allWindows ? NSApplicationActivateAllWindows : 0; options |= NSApplicationActivateIgnoringOtherApps; // without this, nothing happens! [[NSRunningApplication currentApplication] activateWithOptions:options]; }];
*** 695,710 **** * Signature: (Z)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMiscHandlers_nativeRequestUserAttention (JNIEnv *env, jclass clz, jboolean critical) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ ! AWT_ASSERT_APPKIT_THREAD; ! [NSApp requestUserAttention:critical ? NSCriticalRequest : NSInformationalRequest]; }]; JNF_COCOA_EXIT(env); } --- 678,690 ---- * Signature: (Z)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMiscHandlers_nativeRequestUserAttention (JNIEnv *env, jclass clz, jboolean critical) { JNF_COCOA_ENTER(env); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [NSApp requestUserAttention:critical ? NSCriticalRequest : NSInformationalRequest]; }]; JNF_COCOA_EXIT(env); }
*** 715,728 **** * Signature: ()V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMiscHandlers_nativeOpenHelpViewer (JNIEnv *env, jclass clz) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); ! [JNFRunLoop performOnMainThread:@selector(showHelp:) on:NSApp withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 695,707 ---- * Signature: ()V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMiscHandlers_nativeOpenHelpViewer (JNIEnv *env, jclass clz) { JNF_COCOA_ENTER(env); ! [ThreadUtilities performOnMainThread:@selector(showHelp:) on:NSApp withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 734,744 **** * Signature: ()V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMiscHandlers_nativeEnableSuddenTermination (JNIEnv *env, jclass clz) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); [[NSProcessInfo processInfo] enableSuddenTermination]; // Foundation thread-safe JNF_COCOA_EXIT(env); --- 713,722 ----
*** 750,760 **** * Signature: ()V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMiscHandlers_nativeDisableSuddenTermination (JNIEnv *env, jclass clz) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); [[NSProcessInfo processInfo] disableSuddenTermination]; // Foundation thread-safe JNF_COCOA_EXIT(env); --- 728,737 ----
*** 766,781 **** * Signature: (IZZ)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMenuBarHandler_nativeSetMenuState (JNIEnv *env, jclass clz, jint menuID, jboolean visible, jboolean enabled) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ ! AWT_ASSERT_APPKIT_THREAD; ! ApplicationDelegate *delegate = [ApplicationDelegate sharedDelegate]; switch (menuID) { case com_apple_eawt__AppMenuBarHandler_MENU_ABOUT: [delegate _updateAboutMenu:visible enabled:enabled]; break; --- 743,755 ---- * Signature: (IZZ)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMenuBarHandler_nativeSetMenuState (JNIEnv *env, jclass clz, jint menuID, jboolean visible, jboolean enabled) { JNF_COCOA_ENTER(env); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ ApplicationDelegate *delegate = [ApplicationDelegate sharedDelegate]; switch (menuID) { case com_apple_eawt__AppMenuBarHandler_MENU_ABOUT: [delegate _updateAboutMenu:visible enabled:enabled]; break;
*** 794,809 **** * Signature: (J)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMenuBarHandler_nativeSetDefaultMenuBar (JNIEnv *env, jclass clz, jlong cMenuBarPtr) { - AWT_ASSERT_NOT_APPKIT_THREAD; JNF_COCOA_ENTER(env); CMenuBar *menu = (CMenuBar *)jlong_to_ptr(cMenuBarPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ ! AWT_ASSERT_APPKIT_THREAD; [ApplicationDelegate sharedDelegate].fDefaultMenuBar = menu; }]; JNF_COCOA_EXIT(env); } --- 768,781 ---- * Signature: (J)V */ JNIEXPORT void JNICALL Java_com_apple_eawt__1AppMenuBarHandler_nativeSetDefaultMenuBar (JNIEnv *env, jclass clz, jlong cMenuBarPtr) { JNF_COCOA_ENTER(env); CMenuBar *menu = (CMenuBar *)jlong_to_ptr(cMenuBarPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [ApplicationDelegate sharedDelegate].fDefaultMenuBar = menu; }]; JNF_COCOA_EXIT(env); }