diff options
author | Brad Kittenbrink <brad@lindenlab.com> | 2022-10-18 21:01:38 -0700 |
---|---|---|
committer | Brad Kittenbrink <brad@lindenlab.com> | 2022-10-18 21:01:38 -0700 |
commit | f575c139300a6c53fa13dd0d7cbfbaa739e2b4b0 (patch) | |
tree | 275bfb18578574f0c6805bab2027ddfcf77a5afa | |
parent | 9e5c0877c5bc94adace4376ffc9c0c902031f38b (diff) |
Better fix for mac/xcode compatibility problem in SL-18391. Keep using unordered_map
-rw-r--r-- | indra/newview/llgltfmateriallist.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llgltfmateriallist.h | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/indra/newview/llgltfmateriallist.cpp b/indra/newview/llgltfmateriallist.cpp index 84cf746198..0fd5f37b51 100644 --- a/indra/newview/llgltfmateriallist.cpp +++ b/indra/newview/llgltfmateriallist.cpp @@ -175,7 +175,12 @@ void LLGLTFMaterialList::flushMaterials() const F64 MAX_INACTIVE_TIME = 30.f; F64 cur_time = LLTimer::getTotalSeconds(); - uuid_mat_map_t::iterator iter = mList.upper_bound(mLastUpdateKey); + // advance iter one past the last key we updated + uuid_mat_map_t::iterator iter = mList.find(mLastUpdateKey); + if (iter != mList.end()) { + ++iter; + } + while (update_count-- > 0) { if (iter == mList.end()) diff --git a/indra/newview/llgltfmateriallist.h b/indra/newview/llgltfmateriallist.h index 3d97baf5f8..4b905e32c9 100644 --- a/indra/newview/llgltfmateriallist.h +++ b/indra/newview/llgltfmateriallist.h @@ -30,7 +30,7 @@ #include "llgltfmaterial.h" #include "llpointer.h" -#include <map> +#include <unordered_map> class LLFetchedGLTFMaterial; @@ -49,7 +49,7 @@ public: static void registerCallbacks(); private: - typedef std::map<LLUUID, LLPointer<LLFetchedGLTFMaterial > > uuid_mat_map_t; + typedef std::unordered_map<LLUUID, LLPointer<LLFetchedGLTFMaterial > > uuid_mat_map_t; uuid_mat_map_t mList; LLUUID mLastUpdateKey; |