Linux: Fixed repeat issue

This commit is contained in:
Elias Naur 2004-07-21 14:39:22 +00:00
parent ad32e919e0
commit 19fbff094b
1 changed files with 4 additions and 4 deletions

View File

@ -163,7 +163,7 @@ bool releaseInput(void) {
if (current_fullscreen || input_released) if (current_fullscreen || input_released)
return false; return false;
input_released = true; input_released = true;
setRepeatMode(AutoRepeatModeDefault); setRepeatMode(AutoRepeatModeDefault);
updateInputGrab(); updateInputGrab();
return true; return true;
} }
@ -172,7 +172,7 @@ static void acquireInput(void) {
if (current_fullscreen || !input_released) if (current_fullscreen || !input_released)
return; return;
input_released = false; input_released = false;
setRepeatMode(AutoRepeatModeOff); setRepeatMode(AutoRepeatModeOff);
updateInputGrab(); updateInputGrab();
} }
@ -271,6 +271,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Display_nSetTitle
} }
static void destroyWindow() { static void destroyWindow() {
setRepeatMode(AutoRepeatModeDefault);
XDestroyWindow(getDisplay(), current_win); XDestroyWindow(getDisplay(), current_win);
XFreeColormap(getDisplay(), cmap); XFreeColormap(getDisplay(), cmap);
} }
@ -323,7 +324,7 @@ static bool createWindow(JNIEnv* env, int width, int height) {
XMapRaised(getDisplay(), win); XMapRaised(getDisplay(), win);
waitMapped(win); waitMapped(win);
XClearWindow(getDisplay(), win); XClearWindow(getDisplay(), win);
setRepeatMode(AutoRepeatModeOff); setRepeatMode(AutoRepeatModeOff);
if (!checkXError(env)) { if (!checkXError(env)) {
destroyWindow(); destroyWindow();
return false; return false;
@ -520,7 +521,6 @@ static void destroyContext(void) {
} }
XFree(vis_info); XFree(vis_info);
glXDestroyContext(getDisplay(), context); glXDestroyContext(getDisplay(), context);
setRepeatMode(AutoRepeatModeDefault);
} }
static bool initWindowGLX13(JNIEnv *env, jobject pixel_format) { static bool initWindowGLX13(JNIEnv *env, jobject pixel_format) {