diff --git a/modules/globebrowsing/tile/temporaltileprovider.cpp b/modules/globebrowsing/tile/temporaltileprovider.cpp index 0cb19c2f6e..d6fc22a713 100644 --- a/modules/globebrowsing/tile/temporaltileprovider.cpp +++ b/modules/globebrowsing/tile/temporaltileprovider.cpp @@ -64,6 +64,7 @@ namespace openspace { // read file std::string xml( (std::istreambuf_iterator(in)), (std::istreambuf_iterator())); _gdalXmlTemplate = consumeTemporalMetaData(xml); + _defaultTile = getTileProvider()->getDefaultTile(); } std::string TemporalTileProvider::consumeTemporalMetaData(const std::string& xml) { @@ -124,8 +125,7 @@ namespace openspace { } Tile TemporalTileProvider::getDefaultTile() { - ensureUpdated(); - return _currentTileProvider->getDefaultTile(); + return _defaultTile; } diff --git a/modules/globebrowsing/tile/temporaltileprovider.h b/modules/globebrowsing/tile/temporaltileprovider.h index 956afe860e..c526c9e37b 100644 --- a/modules/globebrowsing/tile/temporaltileprovider.h +++ b/modules/globebrowsing/tile/temporaltileprovider.h @@ -161,6 +161,8 @@ namespace openspace { std::unordered_map > _tileProviderMap; TileProviderInitData _tileProviderInitData; + Tile _defaultTile; + std::shared_ptr _currentTileProvider; TimeFormat * _timeFormat; diff --git a/modules/globebrowsing/tile/tileprovider.cpp b/modules/globebrowsing/tile/tileprovider.cpp index 1ee95a1fea..e1381d5424 100644 --- a/modules/globebrowsing/tile/tileprovider.cpp +++ b/modules/globebrowsing/tile/tileprovider.cpp @@ -104,7 +104,7 @@ namespace openspace { , _framesUntilRequestFlush(framesUntilFlushRequestQueue) , _framesSinceLastRequestFlush(0) { - _defaultTile = createTile(_asyncTextureDataProvider->getTextureDataProvider()->defaultTileData()); + } @@ -146,6 +146,9 @@ namespace openspace { } Tile CachingTileProvider::getDefaultTile() { + if (_defaultTile.texture == nullptr) { + _defaultTile = createTile(_asyncTextureDataProvider->getTextureDataProvider()->defaultTileData()); + } return _defaultTile; }