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
commitb30dd09e478e93ab9bbc6e6a88f8796e19fc4bdb (patch)
treed490bf2e4ac2f478c64cb5bc1164a87cc1c8df55 /indra
parent07020ffce092d44c0fc376ab33151391e60cad52 (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;
}