Skip to content
Snippets Groups Projects
Commit 0ba39810 authored by Rider Linden's avatar Rider Linden
Browse files

Rename the file in VFS with the new asset AID (prevents crash on gesture...

Rename the file in VFS with the new asset AID (prevents crash on gesture change and fixes notecard update)
parent ec466b2f
No related branches found
No related tags found
No related merge requests found
...@@ -1051,7 +1051,7 @@ void LLPreviewGesture::saveIfNeeded() ...@@ -1051,7 +1051,7 @@ void LLPreviewGesture::saveIfNeeded()
return; return;
} }
#if 0 #if 1
// Copy the UI into a gesture // Copy the UI into a gesture
LLMultiGesture* gesture = createGesture(); LLMultiGesture* gesture = createGesture();
...@@ -1123,7 +1123,7 @@ void LLPreviewGesture::saveIfNeeded() ...@@ -1123,7 +1123,7 @@ void LLPreviewGesture::saveIfNeeded()
{ {
delayedUpload = true; delayedUpload = true;
LLCoprocedureManager::CoProcedure_t proc = boost::bind(&LLViewerAssetUpload::AssetInventoryUploadCoproc, _1, _2, _3, url, uploadInfo); LLCoprocedureManager::CoProcedure_t proc = boost::bind(&LLViewerAssetUpload::AssetInventoryUploadCoproc, _1, _2, url, uploadInfo);
LLCoprocedureManager::getInstance()->enqueueCoprocedure("LLViewerAssetUpload::AssetInventoryUploadCoproc", proc); LLCoprocedureManager::getInstance()->enqueueCoprocedure("LLViewerAssetUpload::AssetInventoryUploadCoproc", proc);
} }
......
...@@ -449,7 +449,8 @@ LLBufferedAssetUploadInfo::LLBufferedAssetUploadInfo(LLUUID itemId, LLAssetType: ...@@ -449,7 +449,8 @@ LLBufferedAssetUploadInfo::LLBufferedAssetUploadInfo(LLUUID itemId, LLAssetType:
mTaskId(LLUUID::null), mTaskId(LLUUID::null),
mContents(buffer), mContents(buffer),
mInvnFinishFn(finish), mInvnFinishFn(finish),
mTaskFinishFn(NULL) mTaskFinishFn(NULL),
mStoredToVFS(false)
{ {
setItemId(itemId); setItemId(itemId);
setAssetType(assetType); setAssetType(assetType);
...@@ -463,7 +464,8 @@ LLBufferedAssetUploadInfo::LLBufferedAssetUploadInfo(LLUUID taskId, LLUUID itemI ...@@ -463,7 +464,8 @@ LLBufferedAssetUploadInfo::LLBufferedAssetUploadInfo(LLUUID taskId, LLUUID itemI
mTaskId(taskId), mTaskId(taskId),
mContents(buffer), mContents(buffer),
mInvnFinishFn(NULL), mInvnFinishFn(NULL),
mTaskFinishFn(finish) mTaskFinishFn(finish),
mStoredToVFS(false)
{ {
setItemId(itemId); setItemId(itemId);
setAssetType(assetType); setAssetType(assetType);
...@@ -481,6 +483,9 @@ LLSD LLBufferedAssetUploadInfo::prepareUpload() ...@@ -481,6 +483,9 @@ LLSD LLBufferedAssetUploadInfo::prepareUpload()
file.setMaxSize(size); file.setMaxSize(size);
file.write((U8*)mContents.c_str(), size); file.write((U8*)mContents.c_str(), size);
mStoredToVFS = true;
return LLSD().with("success", LLSD::Boolean(true)); return LLSD().with("success", LLSD::Boolean(true));
} }
...@@ -502,6 +507,12 @@ LLUUID LLBufferedAssetUploadInfo::finishUpload(LLSD &result) ...@@ -502,6 +507,12 @@ LLUUID LLBufferedAssetUploadInfo::finishUpload(LLSD &result)
LLUUID newAssetId = result["new_asset"].asUUID(); LLUUID newAssetId = result["new_asset"].asUUID();
LLUUID itemId = getItemId(); LLUUID itemId = getItemId();
if (mStoredToVFS)
{
LLAssetType::EType assetType(getAssetType());
gVFS->renameFile(getAssetId(), assetType, newAssetId, assetType);
}
if (mTaskUpload) if (mTaskUpload)
{ {
LLUUID taskId = getTaskId(); LLUUID taskId = getTaskId();
...@@ -542,8 +553,8 @@ LLUUID LLBufferedAssetUploadInfo::finishUpload(LLSD &result) ...@@ -542,8 +553,8 @@ LLUUID LLBufferedAssetUploadInfo::finishUpload(LLSD &result)
//========================================================================= //=========================================================================
/*static*/ /*static*/
void LLViewerAssetUpload::AssetInventoryUploadCoproc(LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t &httpAdapter, const LLUUID &id, void LLViewerAssetUpload::AssetInventoryUploadCoproc(LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t &httpAdapter,
std::string url, NewResourceUploadInfo::ptr_t uploadInfo) const LLUUID &id, std::string url, NewResourceUploadInfo::ptr_t uploadInfo)
{ {
LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest); LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest);
......
...@@ -177,6 +177,7 @@ class LLBufferedAssetUploadInfo : public NewResourceUploadInfo ...@@ -177,6 +177,7 @@ class LLBufferedAssetUploadInfo : public NewResourceUploadInfo
std::string mContents; std::string mContents;
invnUploadFinish_f mInvnFinishFn; invnUploadFinish_f mInvnFinishFn;
taskUploadFinish_f mTaskFinishFn; taskUploadFinish_f mTaskFinishFn;
bool mStoredToVFS;
}; };
class LLScriptAssetUpload : public LLBufferedAssetUploadInfo class LLScriptAssetUpload : public LLBufferedAssetUploadInfo
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment