summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2018-08-29 12:49:07 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2018-08-29 12:49:07 -0700
commitec8e1e78445c3fcbd2ab90312918ccf03fb58873 (patch)
treea4cadb06f9db46e98901f8a9c15c2d556c1c1a8f
parent330ec0bb618af5c82467ce32df52c99b73c731e6 (diff)
downloadqtlocation-mapboxgl-upstream/delete-log-localref.tar.gz
[android] Explicitly delete local JNI referencesupstream/delete-log-localref
This method seems to be called in a loop, leading to a local reference table overflow if not explicitly deleted. See https://github.com/mapbox/mapbox-gl-native/pull/12716#pullrequestreview-150462731
-rw-r--r--platform/android/src/logger.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/platform/android/src/logger.cpp b/platform/android/src/logger.cpp
index 1cc7660716..0ade914604 100644
--- a/platform/android/src/logger.cpp
+++ b/platform/android/src/logger.cpp
@@ -28,6 +28,9 @@ void Logger::log(jni::JNIEnv& env, EventSeverity severity, const std::string &ms
auto static error = _class.GetStaticMethod<Signature>(env, "e");
_class.Call(env, error, tag, message);
}
+
+ DeleteLocalRef(env, tag);
+ DeleteLocalRef(env, message);
}
} // namespace android