From 1aa08caade5bcb8a840eced6a71a74abddbc81cf Mon Sep 17 00:00:00 2001 From: Sparkling Shampoo Date: Wed, 6 Apr 2022 23:33:32 -0400 Subject: [PATCH] Prevent cached resource from being acquired while it is being destroyed Fixes #158 --- libultraship/libultraship/ResourceMgr.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libultraship/libultraship/ResourceMgr.cpp b/libultraship/libultraship/ResourceMgr.cpp index e6f3c8a0a..b4d7b76a8 100644 --- a/libultraship/libultraship/ResourceMgr.cpp +++ b/libultraship/libultraship/ResourceMgr.cpp @@ -217,9 +217,12 @@ namespace Ship { std::shared_ptr ResourceMgr::GetCachedFile(std::string FilePath) { auto resCacheFind = ResourceCache.find(FilePath); - - if (resCacheFind != ResourceCache.end()) + + if (resCacheFind != ResourceCache.end() && + resCacheFind->second.use_count() > 0) + { return resCacheFind->second; + } else return nullptr; }