diff options
author | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2025-08-06 18:41:52 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-06 18:41:52 +0300 |
commit | 55f1c8b9797836c9816528bb5b772eb83b083b50 (patch) | |
tree | fdbc5a913c62265f95e610819637e096f0f85339 /indra/newview/llmeshrepository.h | |
parent | 514b658fde13bb0c0ec862b081eeebf47bace70d (diff) | |
parent | ce9d66cdd18c58c3b26fbebde633ae00732d7f9f (diff) |
Merge pull request #4492 Merge Develop into Maint-C (2025.06)
Merge Develop into Maint-C (2025.06)
Diffstat (limited to 'indra/newview/llmeshrepository.h')
-rw-r--r-- | indra/newview/llmeshrepository.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h index 0c3a3559c2..2b772f7803 100644 --- a/indra/newview/llmeshrepository.h +++ b/indra/newview/llmeshrepository.h @@ -674,7 +674,22 @@ public: typedef std::vector<LLModelInstance> instance_list; instance_list mInstanceList; - typedef std::map<LLPointer<LLModel>, instance_list> instance_map; + // Upload should happen in deterministic order, so sort instances by model name. + struct LLUploadModelInstanceLess + { + inline bool operator()(const LLPointer<LLModel>& a, const LLPointer<LLModel>& b) const + { + if (a.isNull() || b.isNull()) + { + llassert(false); // We are uploading these models, they shouldn't be null. + return true; + } + // Note: probably can sort by mBaseModel->mSubmodelID here as well to avoid + // running over the list twice in wholeModelToLLSD. + return a->mLabel < b->mLabel; + } + }; + typedef std::map<LLPointer<LLModel>, instance_list, LLUploadModelInstanceLess> instance_map; instance_map mInstance; LLMutex* mMutex; |