aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChien Yang <[email protected]>2006-10-06 18:02:03 +0000
committerChien Yang <[email protected]>2006-10-06 18:02:03 +0000
commit394342138a29a5072786e0a3d5277e21a28bdcb4 (patch)
tree5e89d41ac5d4533b2be0e0baf25aacb665999465 /src
parent9eef9af05c78cdad57526c633aa3b31fc74f7aaa (diff)
Clean up native resources and print error message if SetPixelFormat fail.
git-svn-id: https://svn.java.net/svn/j3d-core~svn/trunk@712 ba19aa83-45c5-6ac9-afd3-db810772062c
Diffstat (limited to 'src')
-rw-r--r--src/native/ogl/Canvas3D.c7
-rw-r--r--src/native/ogl/NativeConfigTemplate3D.c9
-rw-r--r--src/native/ogl/NativeScreenInfo.c7
3 files changed, 19 insertions, 4 deletions
diff --git a/src/native/ogl/Canvas3D.c b/src/native/ogl/Canvas3D.c
index f3bb2da..1e41934 100644
--- a/src/native/ogl/Canvas3D.c
+++ b/src/native/ogl/Canvas3D.c
@@ -1108,7 +1108,7 @@ jlong JNICALL Java_javax_media_j3d_NativePipeline_createNewContext(
LPTSTR errString;
jboolean result;
PixelFormatInfo *PixelFormatInfoPtr = (PixelFormatInfo *)fbConfigListPtr;
-
+ int i;
/* Fix for issue 76 */
@@ -1147,7 +1147,10 @@ jlong JNICALL Java_javax_media_j3d_NativePipeline_createNewContext(
}
}
- SetPixelFormat(hdc, PixelFormatID, NULL);
+ if (SetPixelFormat(hdc, pixelFormat, NULL)) {
+ printErrorMessage("Canvas3D_createNewContext: Failed in SetPixelFormat");
+ return 0;
+ }
/* fprintf(stderr, "Before wglCreateContext\n"); */
diff --git a/src/native/ogl/NativeConfigTemplate3D.c b/src/native/ogl/NativeConfigTemplate3D.c
index 2d7ace7..692ebfb 100644
--- a/src/native/ogl/NativeConfigTemplate3D.c
+++ b/src/native/ogl/NativeConfigTemplate3D.c
@@ -1436,6 +1436,8 @@ jint JNICALL Java_javax_media_j3d_NativeConfigTemplate3D_choosePixelFormat(
jlong * offScreenPFListPtr;
PIXELFORMATDESCRIPTOR dummy_pfd = getDummyPFD();
+ int i;
+
/*
* Select any pixel format and bound current context to
* it so that we can get the wglChoosePixelFormatARB entry point.
@@ -1458,7 +1460,12 @@ jint JNICALL Java_javax_media_j3d_NativeConfigTemplate3D_choosePixelFormat(
return -1;
}
- SetPixelFormat(hdc, pixelFormat, NULL);
+ if (SetPixelFormat(hdc, pixelFormat, NULL)) {
+ printErrorMessage("In NativeConfigTemplate : Failed in SetPixelFormat");
+ DestroyWindow(hwnd);
+ UnregisterClass(szAppName, (HINSTANCE)NULL);
+ return -1;
+ }
hrc = wglCreateContext(hdc);
if (!hrc) {
diff --git a/src/native/ogl/NativeScreenInfo.c b/src/native/ogl/NativeScreenInfo.c
index 9d1cd36..b9775e7 100644
--- a/src/native/ogl/NativeScreenInfo.c
+++ b/src/native/ogl/NativeScreenInfo.c
@@ -187,7 +187,12 @@ Java_javax_media_j3d_NativeScreenInfo_queryWglARB(
return JNI_FALSE;
}
- SetPixelFormat(hdc, pixelFormat, NULL);
+ if (SetPixelFormat(hdc, pixelFormat, NULL)) {
+ printErrorMessage("Failed in SetPixelFormat");
+ DestroyWindow(hwnd);
+ UnregisterClass(szAppName, (HINSTANCE)NULL);
+ return -1;
+ }
hrc = wglCreateContext(hdc);
if (!hrc) {