diff options
| -rw-r--r-- | indra/newview/llpreviewnotecard.cpp | 25 | 
1 files changed, 18 insertions, 7 deletions
diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp index 9f3ee6ac5d..4974dde282 100644 --- a/indra/newview/llpreviewnotecard.cpp +++ b/indra/newview/llpreviewnotecard.cpp @@ -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;  | 
