summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-06-06 16:30:35 -0700
committerKonstantin Käfer <mail@kkaefer.com>2016-06-10 12:42:14 +0200
commit5f052941183f89b574107727f4bf3b7299b332a2 (patch)
tree5acbc6e7379b915cbc3a2a3a791e56b79a630ce5 /src
parent7235ba0bfba31294b4af3bf3b5475d79d96f5f36 (diff)
downloadqtlocation-mapboxgl-5f052941183f89b574107727f4bf3b7299b332a2.tar.gz
[core] Move cache lookup out of Source::createTile
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/style/source.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mbgl/style/source.cpp b/src/mbgl/style/source.cpp
index 8f33a62d07..e0c0f5dec0 100644
--- a/src/mbgl/style/source.cpp
+++ b/src/mbgl/style/source.cpp
@@ -190,10 +190,6 @@ const std::map<UnwrappedTileID, Tile>& Source::getTiles() const {
std::unique_ptr<TileData> Source::createTile(const OverscaledTileID& overscaledTileID,
const UpdateParameters& parameters) {
- if (auto data = cache.get(overscaledTileID)) {
- return data;
- }
-
// If we don't find working tile data, we're just going to load it.
if (type == SourceType::Raster) {
assert(!tileset->tiles.empty());
@@ -297,7 +293,11 @@ bool Source::update(const UpdateParameters& parameters) {
return getTileData(dataTileID);
};
auto createTileDataFn = [this, &parameters](const OverscaledTileID& dataTileID) -> TileData* {
- if (auto data = createTile(dataTileID, parameters)) {
+ std::unique_ptr<TileData> data = cache.get(dataTileID);
+ if (!data) {
+ data = createTile(dataTileID, parameters);
+ }
+ if (data) {
return tileDataMap.emplace(dataTileID, std::move(data)).first->second.get();
} else {
return nullptr;