From d1fb73158755e04689b35e3c6c11db4f02a7ad18 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sat, 11 Dec 2004 20:18:18 +0000 Subject: [PATCH] Added java debug to all of linux native code --- src/native/linux/org_lwjgl_Sys.c | 16 ++++----- src/native/linux/org_lwjgl_input_Mouse.c | 9 +++-- src/native/linux/org_lwjgl_opengl_Display.c | 40 ++++++++++----------- 3 files changed, 32 insertions(+), 33 deletions(-) diff --git a/src/native/linux/org_lwjgl_Sys.c b/src/native/linux/org_lwjgl_Sys.c index 7b9423b2..1bceec40 100644 --- a/src/native/linux/org_lwjgl_Sys.c +++ b/src/native/linux/org_lwjgl_Sys.c @@ -59,10 +59,10 @@ JNIEXPORT jlong JNICALL Java_org_lwjgl_Sys_getTimerResolution return 1000000; } -static long queryTime(void) { +static long queryTime(JNIEnv *env) { struct timeval tv; if (gettimeofday(&tv, NULL) == -1) { - printfDebug("Could not read current time\n"); + printfDebugJava(env, "Could not read current time"); } long result = tv.tv_sec * 1000000l + tv.tv_usec; @@ -81,7 +81,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Sys_setDebug(JNIEnv *env, jclass clazz, jb JNIEXPORT jlong JNICALL Java_org_lwjgl_Sys_ngetTime (JNIEnv * env, jclass clazz) { - hires_timer = queryTime(); + hires_timer = queryTime(env); return (jlong) hires_timer; } @@ -101,7 +101,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Sys_setProcessPriority // Reset scheduler to normal sched_pri.sched_priority = 0; if (sched_setscheduler(0, SCHED_OTHER, &sched_pri) != 0) { - printfDebug("Could not set realtime priority\n"); + printfDebugJava(env, "Could not set realtime priority"); return; } } @@ -111,12 +111,12 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Sys_setProcessPriority min_pri = sched_get_priority_min(SCHED_FIFO); max_pri = sched_get_priority_max(SCHED_FIFO); if (min_pri == -1 || max_pri == -1) { - printfDebug("Failed to set realtime priority\n"); + printfDebugJava(env, "Failed to set realtime priority"); return; } sched_pri.sched_priority = (max_pri + min_pri)/2; if (sched_setscheduler(0, SCHED_FIFO, &sched_pri) != 0) { - printfDebug("Could not set realtime priority\n"); + printfDebugJava(env, "Could not set realtime priority"); return; } return; @@ -134,7 +134,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Sys_setProcessPriority } if (setpriority(PRIO_PROCESS, 0, linux_priority) == -1) { - printfDebug("Failed to set priority.\n"); + printfDebugJava(env, "Failed to set priority."); } } @@ -143,7 +143,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Sys_nAlert(JNIEnv * env, jclass clazz, jst char * eMessageText = GetStringNativeChars(env, message); char * cTitleBarText = GetStringNativeChars(env, title); - printfDebug("*** Alert ***%s\n%s\n", cTitleBarText, eMessageText); + printfDebugJava(env, "*** Alert ***%s\n%s\n", cTitleBarText, eMessageText); free(eMessageText); free(cTitleBarText); diff --git a/src/native/linux/org_lwjgl_input_Mouse.c b/src/native/linux/org_lwjgl_input_Mouse.c index 4b097e44..407219b0 100644 --- a/src/native/linux/org_lwjgl_input_Mouse.c +++ b/src/native/linux/org_lwjgl_input_Mouse.c @@ -110,10 +110,10 @@ static void resetCursor(int x, int y) { last_y = y; } -static bool blankCursor(void) { +static bool blankCursor(JNIEnv *env) { unsigned int best_width, best_height; if (XQueryBestCursor(getDisplay(), getCurrentWindow(), 1, 1, &best_width, &best_height) == 0) { - printfDebug("Could not query best cursor size\n"); + throwException(env, "Could not query best cursor size"); return false; } Pixmap mask = XCreatePixmap(getDisplay(), getCurrentWindow(), best_width, best_height, 1); @@ -259,9 +259,8 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_createMouse reset(); for (i = 0; i < NUM_BUTTONS; i++) buttons[i] = 0; - if (!blankCursor()) { + if (!blankCursor(env)) { decDisplay(); - throwException(env, "Could not create blank cursor"); return; } current_cursor = None; @@ -367,7 +366,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_pollMouse(JNIEnv * env int buttons_length = (*env)->GetDirectBufferCapacity(env, button_buffer_obj); handleMessages(env); if (coords_length < 3) { - printfDebug("ERROR: Not enough space in coords array: %d < 3\n", coords_length); + printfDebugJava(env, "ERROR: Not enough space in coords array: %d < 3", coords_length); return; } if (isGrabbed()) { diff --git a/src/native/linux/org_lwjgl_opengl_Display.c b/src/native/linux/org_lwjgl_opengl_Display.c index 29ef6e29..052b3495 100644 --- a/src/native/linux/org_lwjgl_opengl_Display.c +++ b/src/native/linux/org_lwjgl_opengl_Display.c @@ -115,7 +115,7 @@ bool checkXError(JNIEnv *env) { if (env != NULL) throwException(env, error_message); else - printfDebug(error_message); + printfDebugJava(env, error_message); return false; } else return true; @@ -145,7 +145,7 @@ Display *incDisplay(JNIEnv *env) { if (env != NULL) throwException(env, "Could not open X display connection"); else - printfDebug("Could not open X display connection\n"); + printfDebugJava(env, "Could not open X display connection"); return NULL; } warp_atom = XInternAtom(display_connection, "_LWJGL_WARP", False); @@ -179,12 +179,12 @@ static void updateInputGrab(void) { updateKeyboardGrab(); } -static void setRepeatMode(int mode) { +static void setRepeatMode(JNIEnv *env, int mode) { XKeyboardControl repeat_mode; repeat_mode.auto_repeat_mode = mode; Display *disp = XOpenDisplay(NULL); if (disp == NULL) { - printfDebug("Could not open display to set repeat mode\n"); + printfDebugJava(env, "Could not open display to set repeat mode"); return; } XChangeKeyboardControl(disp, KBAutoRepeatMode, &repeat_mode); @@ -203,7 +203,7 @@ static bool releaseInput(JNIEnv *env) { if (isLegacyFullscreen() || input_released) return false; input_released = true; - setRepeatMode(AutoRepeatModeDefault); + setRepeatMode(env, AutoRepeatModeDefault); updateInputGrab(); if (current_window_mode == FULLSCREEN_NETWM) { XIconifyWindow(getDisplay(), getCurrentWindow(), getCurrentScreen()); @@ -216,7 +216,7 @@ static void acquireInput(JNIEnv *env) { if (isLegacyFullscreen() || !input_released) return; input_released = false; - setRepeatMode(AutoRepeatModeOff); + setRepeatMode(env, AutoRepeatModeOff); updateInputGrab(); if (current_window_mode == FULLSCREEN_NETWM) { temporaryRestoreMode(env, getCurrentScreen()); @@ -323,15 +323,15 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_setTitle(JNIEnv * env, free(title); } -static void destroyWindow(void) { +static void destroyWindow(JNIEnv *env) { if (USEGLX13) glXDestroyWindow(getDisplay(), glx_window); XDestroyWindow(getDisplay(), current_win); XFreeColormap(getDisplay(), cmap); - setRepeatMode(AutoRepeatModeDefault); + setRepeatMode(env, AutoRepeatModeDefault); } -static bool isNetWMFullscreenSupported() { +static bool isNetWMFullscreenSupported(JNIEnv *env) { unsigned long nitems; Atom actual_type; int actual_format; @@ -340,7 +340,7 @@ static bool isNetWMFullscreenSupported() { Atom netwm_supported_atom = XInternAtom(getDisplay(), "_NET_SUPPORTED", False); int result = XGetWindowProperty(getDisplay(), RootWindow(getDisplay(), getCurrentScreen()), netwm_supported_atom, 0, 10000, False, AnyPropertyType, &actual_type, &actual_format, &nitems, &bytes_after, (void *)&supported_list); if (result != Success) { - printfDebug("Unable to query _NET_SUPPORTED window property\n"); + printfDebugJava(env, "Unable to query _NET_SUPPORTED window property"); return false; } Atom fullscreen_atom = XInternAtom(getDisplay(), "_NET_WM_STATE_FULLSCREEN", False); @@ -392,7 +392,7 @@ static bool createWindow(JNIEnv* env, int x, int y, int width, int height) { XFreeColormap(getDisplay(), cmap); return false; } - printfDebug("Created window\n"); + printfDebugJava(env, "Created window"); current_win = win; if (current_window_mode != WINDOWED || undecorated) { // Use Motif decoration hint property and hope the window manager respects them @@ -416,9 +416,9 @@ static bool createWindow(JNIEnv* env, int x, int y, int width, int height) { XMapRaised(getDisplay(), win); waitMapped(win); XClearWindow(getDisplay(), win); - setRepeatMode(AutoRepeatModeOff); + setRepeatMode(env, AutoRepeatModeOff); if (!checkXError(env)) { - destroyWindow(); + destroyWindow(env); return false; } return true; @@ -575,7 +575,7 @@ static XVisualInfo *chooseVisualGLX(JNIEnv *env, jobject pixel_format) { return glXChooseVisual(getDisplay(), getCurrentScreen(), attrib_list.attribs); } -static void dumpVisualInfo(XVisualInfo *vis_info) { +static void dumpVisualInfo(JNIEnv *env, XVisualInfo *vis_info) { int alpha, depth, stencil, r, g, b; int sample_buffers = 0; int samples = 0; @@ -589,7 +589,7 @@ static void dumpVisualInfo(XVisualInfo *vis_info) { glXGetConfig(getDisplay(), vis_info, GLX_SAMPLE_BUFFERS_ARB, &sample_buffers); glXGetConfig(getDisplay(), vis_info, GLX_SAMPLES_ARB, &samples); } - printfDebug("Pixel format info: r = %d, g = %d, b = %d, a = %d, depth = %d, stencil = %d, sample buffers = %d, samples = %d\n", r, g, b, alpha, depth, stencil, sample_buffers, samples); + printfDebugJava(env, "Pixel format info: r = %d, g = %d, b = %d, a = %d, depth = %d, stencil = %d, sample buffers = %d, samples = %d", r, g, b, alpha, depth, stencil, sample_buffers, samples); } static void destroyContext(void) { @@ -645,7 +645,7 @@ static bool initWindowGLX(JNIEnv *env, jobject pixel_format) { return false; } if (isDebugEnabled()) - dumpVisualInfo(vis_info); + dumpVisualInfo(env, vis_info); context = glXCreateContext(getDisplay(), vis_info, NULL, True); if (context == NULL) { XFree(vis_info); @@ -726,7 +726,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_destroyContext(JNIEnv JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_createWindow(JNIEnv *env, jobject this, jobject mode, jboolean fullscreen, int x, int y) { bool current_fullscreen = fullscreen == JNI_TRUE; if (current_fullscreen) { - if (getCurrentDisplayModeExtension() == XRANDR && isNetWMFullscreenSupported()) + if (getCurrentDisplayModeExtension() == XRANDR && isNetWMFullscreenSupported(env)) current_window_mode = FULLSCREEN_NETWM; else current_window_mode = FULLSCREEN_LEGACY; @@ -742,17 +742,17 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_createWindow(JNIEnv *e return; } if (isDebugEnabled()) - dumpVisualInfo(vis_info); + dumpVisualInfo(env, vis_info); if (USEGLX13) glx_window = glXCreateWindow(getDisplay(), configs[0], getCurrentWindow(), NULL); if (!makeCurrent() || !checkXError(env)) { glXDestroyWindow(getDisplay(), glx_window); - destroyWindow(); + destroyWindow(env); } } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_destroyWindow(JNIEnv *env, jobject this) { - destroyWindow(); + destroyWindow(env); } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_swapBuffers(JNIEnv * env, jobject this)