diff options
-rw-r--r-- | platform/qt/src/qmapboxgl.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index 49b0dc021c..a3ec1bf0e4 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -103,7 +103,7 @@ std::shared_ptr<mbgl::DefaultFileSource> sharedDefaultFileSource(const QMapboxGL // Purge entries no longer in use. for (auto it = fileSources.begin(); it != fileSources.end();) { - if (!it->second.lock()) { + if (it->second.expired()) { it = fileSources.erase(it); } else { ++it; @@ -115,7 +115,10 @@ std::shared_ptr<mbgl::DefaultFileSource> sharedDefaultFileSource(const QMapboxGL // Return an existing FileSource if available. auto sharedFileSource = fileSources.find(key); if (sharedFileSource != fileSources.end()) { - return sharedFileSource->second.lock(); + auto lockedSharedFileSource = sharedFileSource->second.lock(); + if (lockedSharedFileSource) { + return lockedSharedFileSource; + } } // New path, create a new FileSource. |