diff options
Diffstat (limited to 'media')
-rw-r--r-- | media/jni/soundpool/android_media_SoundPool.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/media/jni/soundpool/android_media_SoundPool.cpp b/media/jni/soundpool/android_media_SoundPool.cpp index f6ea916..f0677a6 100644 --- a/media/jni/soundpool/android_media_SoundPool.cpp +++ b/media/jni/soundpool/android_media_SoundPool.cpp @@ -283,9 +283,13 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) "(Ljava/lang/Object;IIILjava/lang/Object;)V"); if (fields.mPostEvent == NULL) { LOGE("Can't find android/media/SoundPool.postEventFromNative"); - return -1; + goto bail; } + // create a reference to class. Technically, we're leaking this reference + // since it's a static object. + fields.mSoundPoolClass = (jclass) env->NewGlobalRef(clazz); + if (AndroidRuntime::registerNativeMethods(env, kClassPathName, gMethods, NELEM(gMethods)) < 0) goto bail; |