STORM-1368 Code more defensively around notecard upload.

master
Aaron Stone 2011-06-17 16:16:01 -07:00
parent f0694e45c8
commit 3a25753bcf
1 changed files with 18 additions and 7 deletions

View File

@ -401,15 +401,14 @@ struct LLSaveNotecardInfo
bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)
{
if(!gAssetStorage)
LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor");
if(!editor)
{
llwarns << "Not connected to an asset storage system." << llendl;
llwarns << "Cannot get handle to the notecard editor." << llendl;
return false;
}
LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor");
if(!editor->isPristine())
{
// We need to update the asset information
@ -436,8 +435,15 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)
// save it out to database
if (item)
{
std::string agent_url = gAgent.getRegion()->getCapability("UpdateNotecardAgentInventory");
std::string task_url = gAgent.getRegion()->getCapability("UpdateNotecardTaskInventory");
const LLViewerRegion* region = gAgent.getRegion();
if (!region)
{
llwarns << "Not connected to a region, cannot save notecard." << llendl;
return false;
}
std::string agent_url = region->getCapability("UpdateNotecardAgentInventory");
std::string task_url = region->getCapability("UpdateNotecardTaskInventory");
if (mObjectUUID.isNull() && !agent_url.empty())
{
// Saving into agent inventory
@ -472,6 +478,11 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)
(void*)info,
FALSE);
}
else // !gAssetStorage
{
llwarns << "Not connected to an asset storage system." << llendl;
return false;
}
}
}
return true;