Mercurial > hg > jvamp
changeset 26:fd185c6a74d2
Clean up local references
author | Chris Cannam |
---|---|
date | Wed, 14 Nov 2012 21:47:31 +0000 |
parents | cd430fbf6795 |
children | 59b4150c69cb |
files | src/Plugin.cpp |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Plugin.cpp Wed Nov 14 18:10:40 2012 +0000 +++ b/src/Plugin.cpp Wed Nov 14 21:47:31 2012 +0000 @@ -176,9 +176,12 @@ std::string dname = "TimeDomain"; if (d == Plugin::FrequencyDomain) dname = "FrequencyDomain"; - return env->CallStaticObjectMethod - (ourEnumClass, getEnumValueOfMethod(env), ourEnumClass, - env->NewStringUTF(dname.c_str())); //!!! string leaked! + jstring sn = env->NewStringUTF(dname.c_str()); + jobject e = env->CallStaticObjectMethod + (ourEnumClass, getEnumValueOfMethod(env), ourEnumClass, sn); + + env->DeleteLocalRef(sn); + return e; } jint @@ -252,9 +255,10 @@ break; } + jstring sn = env->NewStringUTF(stype); jobject sampleType = env->CallStaticObjectMethod - (sampleTypeClass, getEnumValueOfMethod(env), - sampleTypeClass, env->NewStringUTF(stype));//!!! string leaked! + (sampleTypeClass, getEnumValueOfMethod(env), sampleTypeClass, sn); + env->DeleteLocalRef(sn); setObjectField(env, desc, "sampleType", "Lorg/vamp_plugins/OutputDescriptor$SampleType;",