--- old/src/macosx/native/sun/awt/AWTWindow.m 2012-06-04 18:39:34.197503000 +0400 +++ new/src/macosx/native/sun/awt/AWTWindow.m 2012-06-04 18:39:33.952488900 +0400 @@ -940,14 +940,19 @@ (JNIEnv *env, jclass clazz, jlong windowPtr) { JNF_COCOA_ENTER(env); -AWT_ASSERT_NOT_APPKIT_THREAD; NSWindow *nsWindow = OBJC(windowPtr); - [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ + if ([NSThread isMainThread]) { AWT_ASSERT_APPKIT_THREAD; - [nsWindow invalidateShadow]; - }]; + } else { + AWT_ASSERT_NOT_APPKIT_THREAD; + [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ + AWT_ASSERT_APPKIT_THREAD; + + [nsWindow invalidateShadow]; + }]; + } JNF_COCOA_EXIT(env); }