summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-01-30 01:23:04 +0200
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-01-30 01:23:04 +0200
commit6c2c8c62dbd0a8168ba59512d946151465586aec (patch)
tree9646efa33f6f0d3e37e4aeee681b57ddd98e9a2e
parentb36082170e89c40b73e536a2ab8b2dcbe4220806 (diff)
SL-14793 Landmark fetching not cleaning request list on completion
-rw-r--r--indra/newview/lllandmarklist.cpp10
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;
}