diff options
author | Osana Babayan <32496536+osana@users.noreply.github.com> | 2018-02-19 12:08:35 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-19 12:08:35 -0500 |
commit | d0f66b132f263fda9c0ca40053253fae20cb06ec (patch) | |
tree | f89fec34f0bc6bcb7964e8ae3d4043c18e58d6af /platform/android/src/geojson/point.cpp | |
parent | d3e6fc5eff6b50490cf7e10c87a09c5eff7cda35 (diff) | |
download | qtlocation-mapboxgl-d0f66b132f263fda9c0ca40053253fae20cb06ec.tar.gz |
[android] added missing delete local references
Diffstat (limited to 'platform/android/src/geojson/point.cpp')
-rw-r--r-- | platform/android/src/geojson/point.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/platform/android/src/geojson/point.cpp b/platform/android/src/geojson/point.cpp index 5feb1b8521..d064547145 100644 --- a/platform/android/src/geojson/point.cpp +++ b/platform/android/src/geojson/point.cpp @@ -1,6 +1,8 @@ +#include <android/log.h> #include "point.hpp" #include "../java/util.hpp" #include "../java_types.hpp" +#include "../style/value.hpp" namespace mbgl { namespace android { @@ -19,17 +21,23 @@ mapbox::geojson::point Point::convert(jni::JNIEnv &env, jni::Object<Point> jPoin } mapbox::geojson::point Point::convert(jni::JNIEnv &env, jni::Object<java::util::List/*<Double>*/> jDoubleList) { - auto jDoubleArray = java::util::List::toArray<double>(env, jDoubleList); + mapbox::geojson::point point; + + if (jDoubleList) { + auto jDoubleArray = java::util::List::toArray<jobject>(env, jDoubleList); - jni::jdouble lon = jni::CallMethod<jni::jdouble>(env, - jDoubleArray.Get(env, 0), - *java::Number::doubleValueMethodId); - jni::jdouble lat = jni::CallMethod<jni::jdouble>(env, - jDoubleArray.Get(env, 1), - *java::Number::doubleValueMethodId); - mapbox::geojson::point point(lon, lat); - jni::DeleteLocalRef(env, jDoubleArray); + auto lonObject = jDoubleArray.Get(env, 0); + auto latObject = jDoubleArray.Get(env, 1); + point.x = jni::CallMethod<jni::jdouble>(env, lonObject, + *java::Number::doubleValueMethodId); + point.y = jni::CallMethod<jni::jdouble>(env, latObject, + *java::Number::doubleValueMethodId); + + jni::DeleteLocalRef(env, lonObject); + jni::DeleteLocalRef(env, latObject); + jni::DeleteLocalRef(env, jDoubleArray); + } return point; } |