summaryrefslogtreecommitdiff
path: root/src/mbgl/annotation/annotation_tile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/annotation/annotation_tile.cpp')
-rw-r--r--src/mbgl/annotation/annotation_tile.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mbgl/annotation/annotation_tile.cpp b/src/mbgl/annotation/annotation_tile.cpp
index a410adc95e..69c9f07655 100644
--- a/src/mbgl/annotation/annotation_tile.cpp
+++ b/src/mbgl/annotation/annotation_tile.cpp
@@ -11,11 +11,17 @@ AnnotationTile::AnnotationTile(const OverscaledTileID& overscaledTileID,
const TileParameters& parameters)
: GeometryTile(overscaledTileID, AnnotationManager::SourceID, parameters),
annotationManager(parameters.annotationManager) {
- annotationManager.addTile(*this);
+ auto guard = annotationManager.lock();
+ if (annotationManager) {
+ annotationManager->addTile(*this);
+ }
}
AnnotationTile::~AnnotationTile() {
- annotationManager.removeTile(*this);
+ auto guard = annotationManager.lock();
+ if (annotationManager) {
+ annotationManager->removeTile(*this);
+ }
}
class AnnotationTileFeatureData {