Browse Source

Patched to compile on Android (I hope).

Ryan C. Gordon 10 years ago
parent
commit
64237d7f01

+ 5 - 0
src/core/android/SDL_android.c

@@ -1610,6 +1610,11 @@ const char * SDL_AndroidGetExternalStoragePath()
     return s_AndroidExternalFilesPath;
 }
 
+jclass Android_JNI_GetActivityClass(void)
+{
+    return mActivityClass;
+}
+
 #endif /* __ANDROID__ */
 
 /* vi: set ts=4 sw=4 expandtab: */

+ 1 - 0
src/core/android/SDL_android.h

@@ -78,6 +78,7 @@ int Android_JNI_GetTouchDeviceIds(int **ids);
 #include <jni.h>
 JNIEnv *Android_JNI_GetEnv(void);
 int Android_JNI_SetupThread(void);
+jclass Android_JNI_GetActivityClass(void);
 
 /* Generic messages */
 int Android_JNI_SendMessage(int command, int param);

+ 3 - 1
src/video/android/SDL_androidtouch.c

@@ -56,9 +56,11 @@ static void
 SeparateEventsHintWatcher(void *userdata, const char *name,
                           const char *oldValue, const char *newValue)
 {
-    separate_mouse_and_touch = (newValue && (SDL_strcmp(newValue, "1") == 0));
+    jclass mActivityClass = Android_JNI_GetActivityClass();
     JNIEnv *env = Android_JNI_GetEnv();
     jfieldID fid = (*env)->GetStaticFieldID(env, mActivityClass, "mSeparateMouseAndTouch", "Z");
+
+    separate_mouse_and_touch = (newValue && (SDL_strcmp(newValue, "1") == 0));
     (*env)->SetStaticBooleanField(env, mActivityClass, fid, separate_mouse_and_touch ? JNI_TRUE : JNI_FALSE);
 }