diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-06-06 16:32:11 -0700 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2016-06-10 12:42:14 +0200 |
commit | a7cc291ce17bb2d4aa2b2d1fa481442926ec2566 (patch) | |
tree | 989f878fb7205d32982bd88ece6595c86a06a398 /src | |
parent | 5f052941183f89b574107727f4bf3b7299b332a2 (diff) | |
download | qtlocation-mapboxgl-a7cc291ce17bb2d4aa2b2d1fa481442926ec2566.tar.gz |
[core] Move setObserver out of Source::createTile
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/style/source.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/mbgl/style/source.cpp b/src/mbgl/style/source.cpp index e0c0f5dec0..7d785e34a7 100644 --- a/src/mbgl/style/source.cpp +++ b/src/mbgl/style/source.cpp @@ -198,7 +198,6 @@ std::unique_ptr<TileData> Source::createTile(const OverscaledTileID& overscaledT overscaledTileID.canonical.y, overscaledTileID.canonical.z); auto data = std::make_unique<RasterTileData>(overscaledTileID, parameters.texturePool, parameters.worker); - data->setObserver(this); data->setTileSource( std::make_unique<ImageTileSource>(*data, resource, parameters.fileSource)); @@ -212,7 +211,6 @@ std::unique_ptr<TileData> Source::createTile(const OverscaledTileID& overscaledT overscaledTileID.canonical.y, overscaledTileID.canonical.z); auto data = std::make_unique<GeometryTileData>(overscaledTileID, id, parameters.style, parameters.mode); - data->setObserver(this); data->setTileSource( std::make_unique<VectorTileSource>(*data, resource, parameters.fileSource)); @@ -222,7 +220,6 @@ std::unique_ptr<TileData> Source::createTile(const OverscaledTileID& overscaledT } else if (type == SourceType::Annotations) { auto data = std::make_unique<GeometryTileData>(overscaledTileID, id, parameters.style, parameters.mode); - data->setObserver(this); data->setTileSource(std::make_unique<AnnotationTileSource>( *data, overscaledTileID, parameters.annotationManager)); @@ -232,7 +229,6 @@ std::unique_ptr<TileData> Source::createTile(const OverscaledTileID& overscaledT } else if (type == SourceType::GeoJSON) { auto data = std::make_unique<GeometryTileData>(overscaledTileID, id, parameters.style, parameters.mode); - data->setObserver(this); data->setTileSource( std::make_unique<GeoJSONTileSource>(*data, geojsonvt.get(), overscaledTileID)); @@ -296,6 +292,9 @@ bool Source::update(const UpdateParameters& parameters) { std::unique_ptr<TileData> data = cache.get(dataTileID); if (!data) { data = createTile(dataTileID, parameters); + if (data) { + data->setObserver(this); + } } if (data) { return tileDataMap.emplace(dataTileID, std::move(data)).first->second.get(); |