diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-01-30 01:23:04 +0200 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-01-30 01:23:04 +0200 |
commit | 6c2c8c62dbd0a8168ba59512d946151465586aec (patch) | |
tree | 9646efa33f6f0d3e37e4aeee681b57ddd98e9a2e | |
parent | b36082170e89c40b73e536a2ab8b2dcbe4220806 (diff) |
SL-14793 Landmark fetching not cleaning request list on completion
-rw-r--r-- | indra/newview/lllandmarklist.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/indra/newview/lllandmarklist.cpp b/indra/newview/lllandmarklist.cpp index b4236c406b..543d2a087f 100644 --- a/indra/newview/lllandmarklist.cpp +++ b/indra/newview/lllandmarklist.cpp @@ -107,11 +107,13 @@ LLLandmark* LLLandmarkList::getAsset(const LLUUID& asset_uuid, loaded_callback_t return NULL; } + mRequestedList[asset_uuid] = gFrameTimeSeconds; + + // Note that getAssetData can callback immediately and cleans mRequestedList gAssetStorage->getAssetData(asset_uuid, LLAssetType::AT_LANDMARK, LLLandmarkList::processGetAssetReply, NULL); - mRequestedList[asset_uuid] = gFrameTimeSeconds; } return NULL; } @@ -194,11 +196,15 @@ void LLLandmarkList::processGetAssetReply( landmark_uuid_list_t::iterator iter = gLandmarkList.mWaitList.begin(); LLUUID asset_uuid = *iter; gLandmarkList.mWaitList.erase(iter); + + // add to mRequestedList before calling getAssetData() + gLandmarkList.mRequestedList[asset_uuid] = gFrameTimeSeconds; + + // Note that getAssetData can callback immediately and cleans mRequestedList gAssetStorage->getAssetData(asset_uuid, LLAssetType::AT_LANDMARK, LLLandmarkList::processGetAssetReply, NULL); - gLandmarkList.mRequestedList[asset_uuid] = gFrameTimeSeconds; } scheduling = false; } |