diff options
| author | 2009-07-17 17:13:28 -0700 | |
|---|---|---|
| committer | 2009-07-17 17:13:28 -0700 | |
| commit | ddd12804d1c5439500bf926d3a91bbdc4439c4d9 (patch) | |
| tree | 4ec0162cce04e41fe5e98d1cabd670750b8db7fd | |
| parent | 568ebf06bce19ecc50edb8290997040ec36b88dd (diff) | |
| parent | 261a784c44d6ac4377651e4842c7a96326462857 (diff) | |
am 261a784c: Merge change 7720 into donut
Merge commit '261a784c44d6ac4377651e4842c7a96326462857'
* commit '261a784c44d6ac4377651e4842c7a96326462857':
Fix global ref leak in android.media.AudioRecord. Delete global refs
| -rw-r--r-- | core/jni/android_media_AudioRecord.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/core/jni/android_media_AudioRecord.cpp b/core/jni/android_media_AudioRecord.cpp index e71e3481862e..44a9e8cbcc58 100644 --- a/core/jni/android_media_AudioRecord.cpp +++ b/core/jni/android_media_AudioRecord.cpp @@ -212,8 +212,10 @@ android_media_AudioRecord_setup(JNIEnv *env, jobject thiz, jobject weak_this, // failure: native_init_failure: + env->DeleteGlobalRef(lpCallbackData->audioRecord_class); + env->DeleteGlobalRef(lpCallbackData->audioRecord_ref); delete lpCallbackData; - + native_track_failure: delete lpRecorder; @@ -274,6 +276,8 @@ static void android_media_AudioRecord_finalize(JNIEnv *env, jobject thiz) { thiz, javaAudioRecordFields.nativeCallbackCookie); if (lpCookie) { LOGV("deleting lpCookie: %x\n", (int)lpCookie); + env->DeleteGlobalRef(lpCookie->audioRecord_class); + env->DeleteGlobalRef(lpCookie->audioRecord_ref); delete lpCookie; } |