Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: jni/JniLogSystem.cpp

Issue 4761138508070912: Issue 1848 - Clean up local reference handling (Closed)
Patch Set: Removed a Log.d Created Jan. 22, 2015, 6:56 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « jni/JniJsValue.cpp ('k') | jni/JniUpdateAvailableCallback.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: jni/JniLogSystem.cpp
diff --git a/jni/JniLogSystem.cpp b/jni/JniLogSystem.cpp
index 275b5ef85b7d0b56a91ba9a02434448db08de437..f3771e08c274bc2f16bd18281ad3314135a42432 100644
--- a/jni/JniLogSystem.cpp
+++ b/jni/JniLogSystem.cpp
@@ -40,8 +40,9 @@ void JniLogSystemCallback::operator()(AdblockPlus::LogSystem::LogLevel logLevel,
{
JNIEnvAcquire env(GetJavaVM());
- jclass clazz = env->GetObjectClass(GetCallbackObject());
- jmethodID method = env->GetMethodID(clazz, "logCallback", "(" TYP("LogSystem$LogLevel") "Ljava/lang/String;Ljava/lang/String;)V");
+ jmethodID method = env->GetMethodID(
+ *JniLocalReference<jclass>(*env, env->GetObjectClass(GetCallbackObject())),
+ "logCallback", "(" TYP("LogSystem$LogLevel") "Ljava/lang/String;Ljava/lang/String;)V");
// TODO: Set log level from Java and handle it here (to reduce C++->Java calls)
@@ -73,12 +74,12 @@ void JniLogSystemCallback::operator()(AdblockPlus::LogSystem::LogLevel logLevel,
if (enumClass)
{
jfieldID enumField = env->GetStaticFieldID(enumClass, enumName, TYP("LogSystem$LogLevel"));
- jobject jLogLevel = env->GetStaticObjectField(enumClass, enumField);
+ JniLocalReference<jobject> jLogLevel(*env, env->GetStaticObjectField(enumClass, enumField));
- jstring jMessage = env->NewStringUTF(message.c_str());
- jstring jSource = env->NewStringUTF(source.c_str());
+ JniLocalReference<jstring> jMessage(*env, env->NewStringUTF(message.c_str()));
+ JniLocalReference<jstring> jSource(*env, env->NewStringUTF(source.c_str()));
- env->CallVoidMethod(GetCallbackObject(), method, jLogLevel, jMessage, jSource);
+ env->CallVoidMethod(GetCallbackObject(), method, *jLogLevel, *jMessage, *jSource);
}
CheckAndLogJavaException(*env);
« no previous file with comments | « jni/JniJsValue.cpp ('k') | jni/JniUpdateAvailableCallback.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld