diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-02-28 02:45:13 +0200 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-02-28 09:33:04 -0800 |
commit | 609cdb0fd7b569dade2c3148f21024f280636154 (patch) | |
tree | 3e18523f629ed299ed9f6f84e8c4129e6d99fdd2 /platform/android/src/style/layers/symbol_layer.cpp | |
parent | f0de56cffae4922db80c74f751f14ac3ed572b31 (diff) | |
download | qtlocation-mapboxgl-609cdb0fd7b569dade2c3148f21024f280636154.tar.gz |
[android] fix ownership of style layer after delete
Diffstat (limited to 'platform/android/src/style/layers/symbol_layer.cpp')
-rw-r--r-- | platform/android/src/style/layers/symbol_layer.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/platform/android/src/style/layers/symbol_layer.cpp b/platform/android/src/style/layers/symbol_layer.cpp index 14803ae278..e42eeb4c77 100644 --- a/platform/android/src/style/layers/symbol_layer.cpp +++ b/platform/android/src/style/layers/symbol_layer.cpp @@ -9,14 +9,27 @@ namespace mbgl { namespace android { + /** + * Creates an owning peer object (for layers not attached to the map) from the JVM side + */ SymbolLayer::SymbolLayer(jni::JNIEnv& env, jni::String layerId, jni::String sourceId) : Layer(env, std::make_unique<mbgl::style::SymbolLayer>(jni::Make<std::string>(env, layerId), jni::Make<std::string>(env, sourceId))) { } + /** + * Creates a non-owning peer object (for layers currently attached to the map) + */ SymbolLayer::SymbolLayer(mbgl::Map& map, mbgl::style::SymbolLayer& coreLayer) : Layer(map, coreLayer) { } + /** + * Creates an owning peer object (for layers not attached to the map) + */ + SymbolLayer::SymbolLayer(mbgl::Map& map, std::unique_ptr<mbgl::style::SymbolLayer> coreLayer) + : Layer(map, std::move(coreLayer)) { + } + SymbolLayer::~SymbolLayer() = default; // Property getters |