diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index 49b0dc021..a3ec1bf0e 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -103,7 +103,7 @@ std::shared_ptr 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 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.