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);
}