diff options
author | Sven Gothel <[email protected]> | 2001-02-14 07:38:31 +0000 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2001-02-14 07:38:31 +0000 |
commit | aaad1aab82e57bc369e26f55a25b24fb77d9fd45 (patch) | |
tree | 78051e866c0f313ff5fdc48bd494f7e6eb75ec74 /CNativeCode/jawt_misc.c | |
parent | f36d363033840c84c76bf5285a252846aa9a7e96 (diff) |
2.5.2.0 test2rel-2-5-2-0-test2
Diffstat (limited to 'CNativeCode/jawt_misc.c')
-rw-r--r-- | CNativeCode/jawt_misc.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/CNativeCode/jawt_misc.c b/CNativeCode/jawt_misc.c index 25ed015..4696773 100644 --- a/CNativeCode/jawt_misc.c +++ b/CNativeCode/jawt_misc.c @@ -30,7 +30,7 @@ jawt_create_offscreen (JNIEnv *env, JAWTDataHolder **ppJData, jboolean verbose) (*ppJData)->dsi_win_created = 1; (*ppJData)->dsi_display = NULL; (*ppJData)->dsi_display_created = 1; - (*ppJData)->lock = 1; + (*ppJData)->lock = JAWT_LOCK_ERROR ; (*ppJData)->offScreen = 1; (*ppJData)->result = JNI_TRUE; @@ -224,10 +224,8 @@ jawt_lock (JNIEnv *env, JAWTDataHolder *pJData, jboolean ignoreSurfaceChanged, fprintf(stderr, "GL4Java-JAWT: lock failed -> JAWT_LOCK_SURFACE_CHANGED\n"); fflush(stderr); } - if(ignoreSurfaceChanged==JNI_TRUE) + if(ignoreSurfaceChanged==JNI_FALSE) { - pJData->lock = 0; - } else { pJData->result = JNI_FALSE; return pJData->result; } @@ -340,25 +338,27 @@ jawt_unlock (JNIEnv *env, JAWTDataHolder *pJData, jboolean verbose) } pJData->dsi=0; - // Unlock the drawing surface - pJData->ds->Unlock(pJData->ds); - exc = (*env)->ExceptionOccurred(env); - if(exc) { + // Unlock the drawing surface
+ if ( (pJData->lock & JAWT_LOCK_ERROR) == 0 )
+ { + pJData->ds->Unlock(pJData->ds); + exc = (*env)->ExceptionOccurred(env); + if(exc)
+ { if(verbose) { fprintf(stderr, "GL4Java-JAWT: unlock failed -> unlock exception\n"); fflush(stderr); } - pJData->result = JNI_FALSE; + pJData->result = JNI_FALSE; if(verbose) - (*env)->ExceptionDescribe(env); - (*env)->ExceptionClear(env); - return pJData->result; + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + return pJData->result; + }
+ pJData->lock = 0;
} - - pJData->lock = 0; - return JNI_TRUE; } |