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

Print this page

        

*** 40,50 **** jint* gButtonDownMasks; @implementation AWTToolkit static long eventCount; - static bool shouldKeepRunningNestedLoop = NO; + (long) getEventCount{ return eventCount; } --- 40,49 ----
*** 464,492 **** * Signature: ()V */ JNIEXPORT void JNICALL Java_sun_lwawt_macosx_LWCToolkit_startNativeNestedEventLoop (JNIEnv *env, jclass cls) { ! if(!shouldKeepRunningNestedLoop) { NSRunLoop *theRL = [NSRunLoop currentRunLoop]; NSApplication * app = [NSApplication sharedApplication]; - shouldKeepRunningNestedLoop = YES; - while (shouldKeepRunningNestedLoop && [theRL runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) - { NSEvent * event = [app nextEventMatchingMask: 0xFFFFFFFF untilDate:nil inMode:NSDefaultRunLoopMode dequeue:YES]; if (event != nil) { [app sendEvent: event]; } - } - } } /* * Class: sun_lwawt_macosx_LWCToolkit * Method: stopNativeNestedEventLoop * Signature: ()V */ JNIEXPORT void JNICALL Java_sun_lwawt_macosx_LWCToolkit_stopNativeNestedEventLoop (JNIEnv *env, jclass cls) { ! shouldKeepRunningNestedLoop = NO; } --- 463,487 ---- * Signature: ()V */ JNIEXPORT void JNICALL Java_sun_lwawt_macosx_LWCToolkit_startNativeNestedEventLoop (JNIEnv *env, jclass cls) { ! // Simply get the next event in native loop and pass it to execution ! // We'll be called repeatedly so there's no need to block here NSRunLoop *theRL = [NSRunLoop currentRunLoop]; NSApplication * app = [NSApplication sharedApplication]; NSEvent * event = [app nextEventMatchingMask: 0xFFFFFFFF untilDate:nil inMode:NSDefaultRunLoopMode dequeue:YES]; if (event != nil) { [app sendEvent: event]; } } /* * Class: sun_lwawt_macosx_LWCToolkit * Method: stopNativeNestedEventLoop * Signature: ()V */ JNIEXPORT void JNICALL Java_sun_lwawt_macosx_LWCToolkit_stopNativeNestedEventLoop (JNIEnv *env, jclass cls) { ! // At this moment it seems that this method should be no-op }