summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-06-06 16:32:11 -0700
committerKonstantin Käfer <mail@kkaefer.com>2016-06-10 12:42:14 +0200
commita7cc291ce17bb2d4aa2b2d1fa481442926ec2566 (patch)
tree989f878fb7205d32982bd88ece6595c86a06a398 /src
parent5f052941183f89b574107727f4bf3b7299b332a2 (diff)
downloadqtlocation-mapboxgl-a7cc291ce17bb2d4aa2b2d1fa481442926ec2566.tar.gz
[core] Move setObserver out of Source::createTile
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/style/source.cpp7
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();