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/llmessage | |
| parent | cfe009cbf6937feaf5baf03e0bf6147b45662cb0 (diff) | |
MAINT-5430 Crash LLAssetStorage::downloadCompleteCallback
Diffstat (limited to 'indra/llmessage')
| -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;  	} | 
