diff --git a/libraries/networking/src/ResourceCache.cpp b/libraries/networking/src/ResourceCache.cpp index 0d5e987cca..20fe05e7b8 100644 --- a/libraries/networking/src/ResourceCache.cpp +++ b/libraries/networking/src/ResourceCache.cpp @@ -70,10 +70,15 @@ uint32_t ResourceCacheSharedItems::getPendingRequestsCount() const { QList> ResourceCacheSharedItems::getLoadingRequests() const { QList> result; - { - Lock lock(_mutex); - result = _loadingRequests; + Lock lock(_mutex); + + foreach(QWeakPointer resource, _loadingRequests) { + auto locked = resource.lock(); + if (locked) { + result.append(locked); + } } + return result; } diff --git a/libraries/networking/src/ResourceCache.h b/libraries/networking/src/ResourceCache.h index c632399ad4..275684f73e 100644 --- a/libraries/networking/src/ResourceCache.h +++ b/libraries/networking/src/ResourceCache.h @@ -82,7 +82,7 @@ private: mutable Mutex _mutex; QList> _pendingRequests; - QList> _loadingRequests; + QList> _loadingRequests; const uint32_t DEFAULT_REQUEST_LIMIT = 10; uint32_t _requestLimit { DEFAULT_REQUEST_LIMIT }; };