--- old/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m 2016-05-05 10:45:44.000000000 +0300 +++ new/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m 2016-05-05 10:45:44.000000000 +0300 @@ -709,9 +709,12 @@ if (p.y >= (frame.origin.y + contentRect.size.height)) { JNIEnv *env = [ThreadUtilities getJNIEnvUncached]; jobject platformWindow = [self.javaPlatformWindow jObjectWithEnv:env]; - // Currently, no need to deliver the whole NSEvent. - static JNF_MEMBER_CACHE(jm_deliverNCMouseDown, jc_CPlatformWindow, "deliverNCMouseDown", "()V"); - JNFCallVoidMethod(env, platformWindow, jm_deliverNCMouseDown); + if (platformWindow != NULL) { + // Currently, no need to deliver the whole NSEvent. + static JNF_MEMBER_CACHE(jm_deliverNCMouseDown, jc_CPlatformWindow, "deliverNCMouseDown", "()V"); + JNFCallVoidMethod(env, platformWindow, jm_deliverNCMouseDown); + (*env)->DeleteLocalRef(env, platformWindow); + } } } } --- old/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m 2016-05-05 10:45:44.000000000 +0300 +++ new/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m 2016-05-05 10:45:44.000000000 +0300 @@ -127,6 +127,7 @@ jc_CGraphicsEnvironment, "_displayReconfiguration","(IZ)V"); JNFCallVoidMethod(env, graphicsEnv, jm_displayReconfiguration, (jint) display, (jboolean) flags & kCGDisplayRemoveFlag); + (*env)->DeleteLocalRef(env, graphicsEnv); }); }]; }