summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Zugaldia <antonio@mapbox.com>2016-05-02 17:34:28 -0400
committerAntonio Zugaldia <antonio@mapbox.com>2016-05-03 13:10:37 -0400
commit7d1a4c5ec146493bb3e192f7fc20e3ae3b626011 (patch)
treebafbdc3022f5720f3e6467b8a821a88f1622ce37
parent78584b7fedba3a7f2712c598b640a0128a4ed169 (diff)
downloadqtlocation-mapboxgl-7d1a4c5ec146493bb3e192f7fc20e3ae3b626011.tar.gz
[android] Create a new local reference frame to avoid a local reference table overflow
Fixes #4706
-rwxr-xr-xplatform/android/src/jni.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp
index 4a4aeeed73..ddbb6a7680 100755
--- a/platform/android/src/jni.cpp
+++ b/platform/android/src/jni.cpp
@@ -1508,6 +1508,10 @@ void setOfflineRegionObserver(JNIEnv *env, jni::jobject* offlineRegion_, jni::jo
break;
}
+ // Create a new local reference frame (capacity 1 for the NewObject allocation below)
+ // to avoid a local reference table overflow (#4706)
+ jni::UniqueLocalFrame frame = jni::PushLocalFrame(*env2, 1);
+
// Stats object
jni::jobject* jstatus = &jni::NewObject(*env2, *offlineRegionStatusClass, *offlineRegionStatusConstructorId);
jni::SetField<jint>(*env2, jstatus, *offlineRegionStatusDownloadStateId, downloadState);