550 { 551 JNF_COCOA_ENTER(env); 552 553 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 554 [NSApp replyToApplicationShouldTerminate:doTerminate]; 555 }]; 556 557 JNF_COCOA_EXIT(env); 558 } 559 560 /* 561 * Class: com_apple_eawt__AppEventHandler 562 * Method: nativeRegisterForNotification 563 * Signature: (I)V 564 */ 565 JNIEXPORT void JNICALL Java_com_apple_eawt__1AppEventHandler_nativeRegisterForNotification 566 (JNIEnv *env, jclass clz, jint notificationType) 567 { 568 JNF_COCOA_ENTER(env); 569 [ThreadUtilities performOnMainThread:@selector(_registerForNotification:) 570 onObject:[ApplicationDelegate class] 571 withObject:[NSNumber numberWithInt:notificationType] 572 waitUntilDone:NO 573 awtMode:NO]; // AWT_THREADING Safe (non-blocking) 574 JNF_COCOA_EXIT(env); 575 } 576 577 /* 578 * Class: com_apple_eawt__AppDockIconHandler 579 * Method: nativeSetDockMenu 580 * Signature: (J)V 581 */ 582 JNIEXPORT void JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeSetDockMenu 583 (JNIEnv *env, jclass clz, jlong nsMenuPtr) 584 { 585 JNF_COCOA_ENTER(env); 586 587 NSMenu *menu = (NSMenu *)jlong_to_ptr(nsMenuPtr); 588 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 589 [ApplicationDelegate sharedDelegate].fDockMenu = menu; 590 }]; 591 592 JNF_COCOA_EXIT(env); 593 } | 550 { 551 JNF_COCOA_ENTER(env); 552 553 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 554 [NSApp replyToApplicationShouldTerminate:doTerminate]; 555 }]; 556 557 JNF_COCOA_EXIT(env); 558 } 559 560 /* 561 * Class: com_apple_eawt__AppEventHandler 562 * Method: nativeRegisterForNotification 563 * Signature: (I)V 564 */ 565 JNIEXPORT void JNICALL Java_com_apple_eawt__1AppEventHandler_nativeRegisterForNotification 566 (JNIEnv *env, jclass clz, jint notificationType) 567 { 568 JNF_COCOA_ENTER(env); 569 [ThreadUtilities performOnMainThread:@selector(_registerForNotification:) 570 on:[ApplicationDelegate class] 571 withObject:[NSNumber numberWithInt:notificationType] 572 waitUntilDone:NO]; // AWT_THREADING Safe (non-blocking) 573 JNF_COCOA_EXIT(env); 574 } 575 576 /* 577 * Class: com_apple_eawt__AppDockIconHandler 578 * Method: nativeSetDockMenu 579 * Signature: (J)V 580 */ 581 JNIEXPORT void JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeSetDockMenu 582 (JNIEnv *env, jclass clz, jlong nsMenuPtr) 583 { 584 JNF_COCOA_ENTER(env); 585 586 NSMenu *menu = (NSMenu *)jlong_to_ptr(nsMenuPtr); 587 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 588 [ApplicationDelegate sharedDelegate].fDockMenu = menu; 589 }]; 590 591 JNF_COCOA_EXIT(env); 592 } |