summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llgltfmateriallist.cpp7
-rw-r--r--indra/newview/llgltfmateriallist.h4
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;