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

Print this page

        

*** 44,54 **** (JNIEnv *env, jclass cls, jlong objectPtr) { JNF_COCOA_ENTER(env); id obj = (id)jlong_to_ptr(objectPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ CFRelease(obj); }]; JNF_COCOA_EXIT(env); } --- 44,54 ---- (JNIEnv *env, jclass cls, jlong objectPtr) { JNF_COCOA_ENTER(env); id obj = (id)jlong_to_ptr(objectPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ CFRelease(obj); }]; JNF_COCOA_EXIT(env); }
*** 64,74 **** (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThread:@selector(makeKeyAndOrderFront:) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 64,74 ---- (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThread:@selector(makeKeyAndOrderFront:) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 84,94 **** (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThread:@selector(makeKeyWindow) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 84,94 ---- (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThread:@selector(makeKeyWindow) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 104,114 **** (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThread:@selector(makeMainWindow) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 104,114 ---- (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThread:@selector(makeMainWindow) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 126,136 **** __block jboolean canBecomeMainWindow = JNI_FALSE; JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ canBecomeMainWindow = [window canBecomeMainWindow]; }]; JNF_COCOA_EXIT(env); --- 126,136 ---- __block jboolean canBecomeMainWindow = JNI_FALSE; JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ canBecomeMainWindow = [window canBecomeMainWindow]; }]; JNF_COCOA_EXIT(env);
*** 149,159 **** __block jboolean isKeyWindow = JNI_FALSE; JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ isKeyWindow = [window isKeyWindow]; }]; JNF_COCOA_EXIT(env); --- 149,159 ---- __block jboolean isKeyWindow = JNI_FALSE; JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ isKeyWindow = [window isKeyWindow]; }]; JNF_COCOA_EXIT(env);
*** 170,180 **** (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThread:@selector(orderFront:) on:window withObject:window waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 170,180 ---- (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThread:@selector(orderFront:) on:window withObject:window waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 190,200 **** (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThread:@selector(orderOut:) on:window withObject:window waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 190,200 ---- (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThread:@selector(orderOut:) on:window withObject:window waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 210,220 **** (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThread:@selector(orderFrontRegardless) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 210,220 ---- (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThread:@selector(orderFrontRegardless) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 231,241 **** { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); NSWindow *relativeTo = (NSWindow *)jlong_to_ptr(relativeToPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [window orderWindow:(NSWindowOrderingMode)order relativeTo:[relativeTo windowNumber]]; }]; JNF_COCOA_EXIT(env); } --- 231,241 ---- { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); NSWindow *relativeTo = (NSWindow *)jlong_to_ptr(relativeToPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [window orderWindow:(NSWindowOrderingMode)order relativeTo:[relativeTo windowNumber]]; }]; JNF_COCOA_EXIT(env); }
*** 265,275 **** if (level >= 0 && level < sun_lwawt_macosx_CWrapper_NSWindow_MAX_WINDOW_LEVELS) { initLevels(); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [window setLevel: LEVELS[level]]; }]; } else { [JNFException raise:env as:kIllegalArgumentException reason:"unknown level"]; } --- 265,275 ---- if (level >= 0 && level < sun_lwawt_macosx_CWrapper_NSWindow_MAX_WINDOW_LEVELS) { initLevels(); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [window setLevel: LEVELS[level]]; }]; } else { [JNFException raise:env as:kIllegalArgumentException reason:"unknown level"]; }
*** 288,298 **** { JNF_COCOA_ENTER(env); NSWindow *parent = (NSWindow *)jlong_to_ptr(parentPtr); NSWindow *child = (NSWindow *)jlong_to_ptr(childPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [parent addChildWindow:child ordered:order]; }]; JNF_COCOA_EXIT(env); } --- 288,298 ---- { JNF_COCOA_ENTER(env); NSWindow *parent = (NSWindow *)jlong_to_ptr(parentPtr); NSWindow *child = (NSWindow *)jlong_to_ptr(childPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [parent addChildWindow:child ordered:order]; }]; JNF_COCOA_EXIT(env); }
*** 308,318 **** { JNF_COCOA_ENTER(env); AWTWindow *parent = (AWTWindow *)jlong_to_ptr(parentPtr); AWTWindow *child = (AWTWindow *)jlong_to_ptr(childPtr); ! [JNFRunLoop performOnMainThread:@selector(removeChildWindow:) on:parent withObject:child waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 308,318 ---- { JNF_COCOA_ENTER(env); AWTWindow *parent = (AWTWindow *)jlong_to_ptr(parentPtr); AWTWindow *child = (AWTWindow *)jlong_to_ptr(childPtr); ! [ThreadUtilities performOnMainThread:@selector(removeChildWindow:) on:parent withObject:child waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 329,339 **** { JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); NSRect frame = NSMakeRect(x, y, w, h); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [window setFrame:frame display:display]; }]; JNF_COCOA_EXIT(env); } --- 329,339 ---- { JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); NSRect frame = NSMakeRect(x, y, w, h); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [window setFrame:frame display:display]; }]; JNF_COCOA_EXIT(env); }
*** 348,358 **** (JNIEnv *env, jclass cls, jlong windowPtr, jfloat alpha) { JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [window setAlphaValue:(CGFloat)alpha]; }]; JNF_COCOA_EXIT(env); } --- 348,358 ---- (JNIEnv *env, jclass cls, jlong windowPtr, jfloat alpha) { JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [window setAlphaValue:(CGFloat)alpha]; }]; JNF_COCOA_EXIT(env); }
*** 367,377 **** (JNIEnv *env, jclass cls, jlong windowPtr, jboolean opaque) { JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [window setOpaque:(BOOL)opaque]; }]; JNF_COCOA_EXIT(env); } --- 367,377 ---- (JNIEnv *env, jclass cls, jlong windowPtr, jboolean opaque) { JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [window setOpaque:(BOOL)opaque]; }]; JNF_COCOA_EXIT(env); }
*** 387,397 **** { JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); NSColor *color = (NSColor *)jlong_to_ptr(colorPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [window setBackgroundColor:color]; }]; JNF_COCOA_EXIT(env); } --- 387,397 ---- { JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); NSColor *color = (NSColor *)jlong_to_ptr(colorPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [window setBackgroundColor:color]; }]; JNF_COCOA_EXIT(env); }
*** 408,418 **** __block jlong screenPtr = 0L; JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ const NSScreen *screen = [window screen]; CFRetain(screen); // GC screenPtr = ptr_to_jlong(screen); }]; --- 408,418 ---- __block jlong screenPtr = 0L; JNF_COCOA_ENTER(env); AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ const NSScreen *screen = [window screen]; CFRetain(screen); // GC screenPtr = ptr_to_jlong(screen); }];
*** 430,440 **** (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThread:@selector(miniaturize:) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 430,440 ---- (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThread:@selector(miniaturize:) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 450,460 **** (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThread:@selector(deminiaturize:) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 450,460 ---- (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThread:@selector(deminiaturize:) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 470,480 **** (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [JNFRunLoop performOnMainThread:@selector(zoom:) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 470,480 ---- (JNIEnv *env, jclass cls, jlong windowPtr) { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); ! [ThreadUtilities performOnMainThread:@selector(zoom:) on:window withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 491,501 **** { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); NSResponder *responder = (NSResponder *)jlong_to_ptr(responderPtr); ! [JNFRunLoop performOnMainThread:@selector(makeFirstResponder:) on:window withObject:responder waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 491,501 ---- { JNF_COCOA_ENTER(env); NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); NSResponder *responder = (NSResponder *)jlong_to_ptr(responderPtr); ! [ThreadUtilities performOnMainThread:@selector(makeFirstResponder:) on:window withObject:responder waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 512,522 **** { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); NSView *subview = (NSView *)jlong_to_ptr(subviewPtr); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ [view addSubview:subview]; }]; JNF_COCOA_EXIT(env); } --- 512,522 ---- { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); NSView *subview = (NSView *)jlong_to_ptr(subviewPtr); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ [view addSubview:subview]; }]; JNF_COCOA_EXIT(env); }
*** 531,541 **** (JNIEnv *env, jclass cls, jlong viewPtr) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [JNFRunLoop performOnMainThread:@selector(removeFromSuperview) on:view withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env); --- 531,541 ---- (JNIEnv *env, jclass cls, jlong viewPtr) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [ThreadUtilities performOnMainThread:@selector(removeFromSuperview) on:view withObject:nil waitUntilDone:NO]; JNF_COCOA_EXIT(env);
*** 551,561 **** (JNIEnv *env, jclass cls, jlong viewPtr, jint x, jint y, jint w, jint h) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [view setFrame:NSMakeRect(x, y, w, h)]; }]; JNF_COCOA_EXIT(env); } --- 551,561 ---- (JNIEnv *env, jclass cls, jlong viewPtr, jint x, jint y, jint w, jint h) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [view setFrame:NSMakeRect(x, y, w, h)]; }]; JNF_COCOA_EXIT(env); }
*** 574,584 **** JNF_COCOA_ENTER(env); __block NSRect rect = NSZeroRect; NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ rect = [view frame]; }]; jRect = NSToJavaRect(env, rect); --- 574,584 ---- JNF_COCOA_ENTER(env); __block NSRect rect = NSZeroRect; NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ rect = [view frame]; }]; jRect = NSToJavaRect(env, rect);
*** 597,607 **** (JNIEnv *env, jclass cls, jlong viewPtr) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ NSScreen *screen = [[view window] screen]; NSDictionary *opts = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], NSFullScreenModeAllScreens, nil]; [view enterFullScreenMode:screen withOptions:opts]; }]; --- 597,607 ---- (JNIEnv *env, jclass cls, jlong viewPtr) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ NSScreen *screen = [[view window] screen]; NSDictionary *opts = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], NSFullScreenModeAllScreens, nil]; [view enterFullScreenMode:screen withOptions:opts]; }];
*** 618,628 **** (JNIEnv *env, jclass cls, jlong viewPtr) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [view exitFullScreenModeWithOptions:nil]; }]; JNF_COCOA_EXIT(env); } --- 618,628 ---- (JNIEnv *env, jclass cls, jlong viewPtr) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [view exitFullScreenModeWithOptions:nil]; }]; JNF_COCOA_EXIT(env); }
*** 639,649 **** __block jlong windowPtr = 0L; JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ windowPtr = ptr_to_jlong([view window]); }]; JNF_COCOA_EXIT(env); --- 639,649 ---- __block jlong windowPtr = 0L; JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ windowPtr = ptr_to_jlong([view window]); }]; JNF_COCOA_EXIT(env);
*** 653,670 **** /* * Class: sun_lwawt_macosx_CWrapper$NSView * Method: setHidden * Signature: (JZ)V */ ! JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_CWrapper_00024NSView_setHidden (JNIEnv *env, jclass cls, jlong viewPtr, jboolean toHide) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ [view setHidden:(BOOL)toHide]; }]; JNF_COCOA_EXIT(env); } --- 653,670 ---- /* * Class: sun_lwawt_macosx_CWrapper$NSView * Method: setHidden * Signature: (JZ)V */ ! JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CWrapper_00024NSView_setHidden (JNIEnv *env, jclass cls, jlong viewPtr, jboolean toHide) { JNF_COCOA_ENTER(env); NSView *view = (NSView *)jlong_to_ptr(viewPtr); ! [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ [view setHidden:(BOOL)toHide]; }]; JNF_COCOA_EXIT(env); }
*** 684,694 **** JNF_COCOA_ENTER(env); __block NSRect rect = NSZeroRect; NSScreen *screen = (NSScreen *)jlong_to_ptr(screenPtr); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ rect = [screen frame]; }]; jRect = NSToJavaRect(env, rect); --- 684,694 ---- JNF_COCOA_ENTER(env); __block NSRect rect = NSZeroRect; NSScreen *screen = (NSScreen *)jlong_to_ptr(screenPtr); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ rect = [screen frame]; }]; jRect = NSToJavaRect(env, rect);
*** 711,721 **** JNF_COCOA_ENTER(env); __block NSRect rect = NSZeroRect; NSScreen *screen = (NSScreen *)jlong_to_ptr(screenPtr); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ rect = [screen visibleFrame]; }]; jRect = NSToJavaRect(env, rect); --- 711,721 ---- JNF_COCOA_ENTER(env); __block NSRect rect = NSZeroRect; NSScreen *screen = (NSScreen *)jlong_to_ptr(screenPtr); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ rect = [screen visibleFrame]; }]; jRect = NSToJavaRect(env, rect);
*** 735,745 **** { __block jlong screenPtr = 0L; JNF_COCOA_ENTER(env); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ NSArray *screens = [NSScreen screens]; for (NSScreen *screen in screens) { NSDictionary *screenInfo = [screen deviceDescription]; NSNumber *screenID = [screenInfo objectForKey:@"NSScreenNumber"]; if ([screenID intValue] == displayID){ --- 735,745 ---- { __block jlong screenPtr = 0L; JNF_COCOA_ENTER(env); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ NSArray *screens = [NSScreen screens]; for (NSScreen *screen in screens) { NSDictionary *screenInfo = [screen deviceDescription]; NSNumber *screenID = [screenInfo objectForKey:@"NSScreenNumber"]; if ([screenID intValue] == displayID){
*** 766,776 **** { __block jlong clearColorPtr = 0L; JNF_COCOA_ENTER(env); ! [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ clearColorPtr = ptr_to_jlong([NSColor clearColor]); }]; JNF_COCOA_EXIT(env); --- 766,776 ---- { __block jlong clearColorPtr = 0L; JNF_COCOA_ENTER(env); ! [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ clearColorPtr = ptr_to_jlong([NSColor clearColor]); }]; JNF_COCOA_EXIT(env);