From: Elias N. <eli...@us...> - 2002-12-12 19:51:23
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/linux In directory sc8-pr-cvs1:/tmp/cvs-serv11404/linux Modified Files: org_lwjgl_input_Mouse.cpp Log Message: Fixed a mouse button state array bug Index: org_lwjgl_input_Mouse.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/linux/org_lwjgl_input_Mouse.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/org_lwjgl_input_Mouse.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- org_lwjgl_input_Mouse.cpp 30 Nov 2002 21:25:00 -0000 1.9 +++ org_lwjgl_input_Mouse.cpp 12 Dec 2002 19:51:20 -0000 1.10 @@ -233,13 +233,13 @@ case ButtonPress: switch (event.xbutton.button) { case Button1: - buttons[0] = 1; + buttons[0] = JNI_TRUE; break; case Button2: - buttons[1] = 1; + buttons[1] = JNI_TRUE; break; case Button3: - buttons[2] = 1; + buttons[2] = JNI_TRUE; break; case Button4: current_z--; @@ -253,13 +253,13 @@ case ButtonRelease: switch (event.xbutton.button) { case Button1: - buttons[0] = 0; + buttons[0] = JNI_FALSE; break; case Button2: - buttons[1] = 0; + buttons[1] = JNI_FALSE; break; case Button3: - buttons[2] = 0; + buttons[2] = JNI_FALSE; break; case Button4: /* Fall through */ case Button5: @@ -324,9 +324,7 @@ last_y = current_y; last_z = current_z; jbooleanArray buttonsArray = (jbooleanArray) env->GetStaticObjectField(clazz, fid_button); - unsigned char * class_buttons = (unsigned char *) env->GetPrimitiveArrayCritical(buttonsArray, NULL); - memcpy(class_buttons, buttons, NUM_BUTTONS*sizeof(unsigned char)); - env->ReleasePrimitiveArrayCritical(buttonsArray, class_buttons, 0); + env->SetBooleanArrayRegion(buttonsArray, 0, NUM_BUTTONS, buttons); if (current_fullscreen) warpPointer(); } |