aboutsummaryrefslogtreecommitdiffstats
path: root/Java/phidget_jni.c
diff options
context:
space:
mode:
authorJonathan McCrohan <jmccrohan@gmail.com>2012-10-19 19:38:06 +0100
committerJonathan McCrohan <jmccrohan@gmail.com>2012-10-19 19:38:06 +0100
commit2891593727a0151a66ed7860fed6399548c74c02 (patch)
tree1cb52da179b4ab23ba2a22f44d88ea3523f51f0c /Java/phidget_jni.c
parentcff96463a694573a9f87b014482a45c25bf4c7b0 (diff)
parent8f3c91e91b634adaca77dac6cf314445cceefc78 (diff)
downloadlibphidget21-2891593727a0151a66ed7860fed6399548c74c02.tar.gz
Merge tag 'upstream/2.1.8.20120912'
Upstream version 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)