diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-09-10 06:55:38 +0300 |
---|---|---|
committer | Julian Rex <julian.rex@mapbox.com> | 2019-09-09 23:55:38 -0400 |
commit | 5207a360746d7d0541e21ca4e8d22b432f41d8f5 (patch) | |
tree | 6bb894331c13de8c1f253872639f17ae3c3c6aea /include/mbgl/style/sources/custom_geometry_source.hpp | |
parent | 45140af7cb7f485008905a645e043480615109bc (diff) | |
download | qtlocation-mapboxgl-5207a360746d7d0541e21ca4e8d22b432f41d8f5.tar.gz |
[core, ios, macos] SDK objects should hold weak pointers to the core style objects (#15539)
Diffstat (limited to 'include/mbgl/style/sources/custom_geometry_source.hpp')
-rw-r--r-- | include/mbgl/style/sources/custom_geometry_source.hpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/mbgl/style/sources/custom_geometry_source.hpp b/include/mbgl/style/sources/custom_geometry_source.hpp index 3f29d0c0fb..a5e545f445 100644 --- a/include/mbgl/style/sources/custom_geometry_source.hpp +++ b/include/mbgl/style/sources/custom_geometry_source.hpp @@ -20,7 +20,7 @@ using TileFunction = std::function<void(const CanonicalTileID&)>; class CustomTileLoader; -class CustomGeometrySource : public Source { +class CustomGeometrySource final : public Source { public: struct TileOptions { double tolerance = 0.375; @@ -46,9 +46,13 @@ public: // Private implementation class Impl; const Impl& impl() const; + mapbox::base::WeakPtr<Source> makeWeakPtr() override { + return weakFactory.makeWeakPtr(); + } private: std::shared_ptr<ThreadPool> threadPool; std::unique_ptr<Actor<CustomTileLoader>> loader; + mapbox::base::WeakPtrFactory<Source> weakFactory {this}; }; template <> |