diff options
author | RunitaiLinden <davep@lindenlab.com> | 2024-04-26 13:38:30 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-26 13:38:30 -0500 |
commit | 8465a8acb206bbdd839764446ac27e1116c58ee8 (patch) | |
tree | cd7afd409bc547c0d7f3e0986ba02447ffee62ca /indra/newview/llviewerregion.cpp | |
parent | 6f51d909a2cd4fd5d875cf255f5379bc5c1984d2 (diff) |
#1325 Fix for GLTF overrides sometimes not showing up. (#1340)
Diffstat (limited to 'indra/newview/llviewerregion.cpp')
-rwxr-xr-x | indra/newview/llviewerregion.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 160e2f7e5c..fe1291c6f4 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -2744,7 +2744,14 @@ LLViewerRegion::eCacheUpdateResult LLViewerRegion::cacheFullUpdate(LLViewerObjec void LLViewerRegion::cacheFullUpdateGLTFOverride(const LLGLTFOverrideCacheEntry &override_data) { U32 local_id = override_data.mLocalId; - mImpl->mGLTFOverridesLLSD[local_id] = override_data; + if (override_data.mSides.size() > 0) + { // empty override means overrides were removed from this object + mImpl->mGLTFOverridesLLSD[local_id] = override_data; + } + else + { + mImpl->mGLTFOverridesLLSD.erase(local_id); + } } LLVOCacheEntry* LLViewerRegion::getCacheEntryForOctree(U32 local_id) @@ -2961,6 +2968,11 @@ void LLViewerRegion::dumpCache() // TODO - add overrides cache too } +void LLViewerRegion::clearVOCacheFromMemory() +{ + mImpl->mCacheMap.clear(); +} + void LLViewerRegion::unpackRegionHandshake() { LLMessageSystem *msg = gMessageSystem; |