summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorandreykproductengine <akleshchev@productengine.com>2015-07-30 18:35:33 +0300
committerandreykproductengine <akleshchev@productengine.com>2015-07-30 18:35:33 +0300
commit8f5676202821b9b8addb19fe8b93bac56057c6af (patch)
treedd7a95ef4ba04bee89268db22c2e7a6f11518f59 /indra
parentcfe009cbf6937feaf5baf03e0bf6147b45662cb0 (diff)
MAINT-5430 Crash LLAssetStorage::downloadCompleteCallback
Diffstat (limited to 'indra')
-rwxr-xr-xindra/llmessage/llassetstorage.cpp6
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;
}