From d5d9f061605661d1fbf498f5d58756aac867fbcf Mon Sep 17 00:00:00 2001 From: Ioannis Tsakpinis Date: Tue, 14 Jan 2014 17:11:28 +0200 Subject: [PATCH] Convert local WindowsDisplay jclass reference to global. --- src/native/windows/opengl/context.h | 2 +- src/native/windows/opengles/context.h | 2 +- src/native/windows/org_lwjgl_opengl_Display.c | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/native/windows/opengl/context.h b/src/native/windows/opengl/context.h index c0533092..565a1bda 100644 --- a/src/native/windows/opengl/context.h +++ b/src/native/windows/opengl/context.h @@ -57,7 +57,7 @@ typedef struct { * Register the LWJGL window class. * Returns true for success, or false for failure */ -extern bool registerWindow(); +extern bool registerWindow(WNDPROC win_proc, LPCTSTR class_name); extern bool applyPixelFormat(JNIEnv *env, HDC hdc, int iPixelFormat); diff --git a/src/native/windows/opengles/context.h b/src/native/windows/opengles/context.h index 402f256e..e0e0cb05 100644 --- a/src/native/windows/opengles/context.h +++ b/src/native/windows/opengles/context.h @@ -54,7 +54,7 @@ typedef struct { * Register the LWJGL window class. * Returns true for success, or false for failure */ -extern bool registerWindow(); +extern bool registerWindow(WNDPROC win_proc, LPCTSTR class_name); //extern bool applyPixelFormat(JNIEnv *env, HDC hdc, int iPixelFormat); diff --git a/src/native/windows/org_lwjgl_opengl_Display.c b/src/native/windows/org_lwjgl_opengl_Display.c index edb6ead2..88b70b1c 100644 --- a/src/native/windows/org_lwjgl_opengl_Display.c +++ b/src/native/windows/org_lwjgl_opengl_Display.c @@ -114,7 +114,7 @@ static LRESULT CALLBACK lwjglWindowProc(HWND hWnd, } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_WindowsDisplay_setWindowProc(JNIEnv *env, jclass clazz, jobject method) { - windowsDisplayClass = clazz; + windowsDisplayClass = (*env)->NewGlobalRef(env, clazz); javaWindowProc = (*env)->FromReflectedMethod(env, method); } @@ -535,5 +535,4 @@ JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_WindowsDisplay_nTrackMouseEvent tme.dwFlags = TME_LEAVE; tme.hwndTrack = hwnd; return TrackMouseEvent(&tme); -} - +} \ No newline at end of file