aboutsummaryrefslogtreecommitdiffstats
path: root/Java/phidget_jni.c
diff options
context:
space:
mode:
authorJonathan McCrohan <jmccrohan@gmail.com>2012-12-05 23:35:47 +0000
committerJonathan McCrohan <jmccrohan@gmail.com>2012-12-05 23:35:47 +0000
commitd793256d203fde3090d3729f70e0595674fa48d6 (patch)
tree3ef1aefbe45529a2063630b05a7be6dcd2c13fbc /Java/phidget_jni.c
parent3d9394c18ca528ac78197007d1a2dfff6f401920 (diff)
parent8f3c91e91b634adaca77dac6cf314445cceefc78 (diff)
downloadlibphidget21-d793256d203fde3090d3729f70e0595674fa48d6.tar.gz
Merge tag 'upstream/2.1.8.20120912'
Diffstat (limited to 'Java/phidget_jni.c')
-rw-r--r--Java/phidget_jni.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/Java/phidget_jni.c b/Java/phidget_jni.c
index 1ec7ca6..1a91e74 100644
--- a/Java/phidget_jni.c
+++ b/Java/phidget_jni.c
@@ -27,6 +27,13 @@ jmethodID serverConnectEvent_cons;
jclass serverDisconnectEvent_class;
jmethodID serverDisconnectEvent_cons;
+#ifdef _WINDOWS
+
+extern int useThreadSecurity;
+extern void destroyThreadSecurityAttributes();
+
+#endif
+
jint JNICALL
JNI_OnLoad(JavaVM *vm, void *reserved)
{
@@ -36,6 +43,12 @@ JNI_OnLoad(JavaVM *vm, void *reserved)
ph_vm = vm;
+ // Don't set thread security when we're using Java - this break events.
+ #ifdef _WINDOWS
+ useThreadSecurity = PFALSE;
+ destroyThreadSecurityAttributes();
+ #endif
+
result = (*vm)->GetEnv(vm, (void **)&env, JNI_VERSION_1_4);
if(result == JNI_EDETACHED)