diff options
author | andreykproductengine <akleshchev@productengine.com> | 2015-07-30 18:35:33 +0300 |
---|---|---|
committer | andreykproductengine <akleshchev@productengine.com> | 2015-07-30 18:35:33 +0300 |
commit | 8f5676202821b9b8addb19fe8b93bac56057c6af (patch) | |
tree | dd7a95ef4ba04bee89268db22c2e7a6f11518f59 /indra | |
parent | cfe009cbf6937feaf5baf03e0bf6147b45662cb0 (diff) |
MAINT-5430 Crash LLAssetStorage::downloadCompleteCallback
Diffstat (limited to 'indra')
-rwxr-xr-x | indra/llmessage/llassetstorage.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/indra/llmessage/llassetstorage.cpp b/indra/llmessage/llassetstorage.cpp index 8ba2535531..61663e1982 100755 --- a/indra/llmessage/llassetstorage.cpp +++ b/indra/llmessage/llassetstorage.cpp @@ -633,6 +633,10 @@ void LLAssetStorage::downloadCompleteCallback( vfile.remove(); } } + + // we will be deleting elements of mPendingDownloads which req might be part of, save id and type for reference + LLUUID callback_id = req->getUUID(); + LLAssetType::EType callback_type = req->getType(); // find and callback ALL pending requests for this UUID // SJB: We process the callbacks in reverse order, I do not know if this is important, @@ -660,7 +664,7 @@ void LLAssetStorage::downloadCompleteCallback( { add(sFailedDownloadCount, 1); } - tmp->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getType(), tmp->mUserData, result, ext_status); + tmp->mDownCallback(gAssetStorage->mVFS, callback_id, callback_type, tmp->mUserData, result, ext_status); } delete tmp; } |