From 8dc9afa9666507930f30ec0d11e2dba7db2ae142 Mon Sep 17 00:00:00 2001 From: rago Date: Wed, 14 Sep 2016 17:33:45 -0700 Subject: [PATCH] Fix scope for visualizer object release Bug: 30684284 Change-Id: I4170511c6c7f36aa1bce3e439054bc6b8a4a2623 --- media/jni/audioeffect/android_media_Visualizer.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/media/jni/audioeffect/android_media_Visualizer.cpp b/media/jni/audioeffect/android_media_Visualizer.cpp index f1a8c6fbdb29c..aec31f0479c28 100644 --- a/media/jni/audioeffect/android_media_Visualizer.cpp +++ b/media/jni/audioeffect/android_media_Visualizer.cpp @@ -435,11 +435,12 @@ setup_failure: // ---------------------------------------------------------------------------- static void android_media_visualizer_native_release(JNIEnv *env, jobject thiz) { - sp lpVisualizer = setVisualizer(env, thiz, 0); - if (lpVisualizer == 0) { - return; + { //limit scope so that lpVisualizer is deleted before JNI storage data. + sp lpVisualizer = setVisualizer(env, thiz, 0); + if (lpVisualizer == 0) { + return; + } } - // delete the JNI data VisualizerJniStorage* lpJniStorage = (VisualizerJniStorage *)env->GetLongField(thiz, fields.fidJniData);