diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llprimitive/llvolumexml.cpp | 19 | ||||
| -rw-r--r-- | indra/llprimitive/llvolumexml.h | 6 | ||||
| -rw-r--r-- | indra/llui/llui.cpp | 7 | ||||
| -rw-r--r-- | indra/llxml/llxmlnode.cpp | 8 | ||||
| -rw-r--r-- | indra/llxuixml/llxuiparser.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llvoicevivox.cpp | 1 | 
6 files changed, 24 insertions, 18 deletions
| diff --git a/indra/llprimitive/llvolumexml.cpp b/indra/llprimitive/llvolumexml.cpp index f4f9d4d713..bf2297a029 100644 --- a/indra/llprimitive/llvolumexml.cpp +++ b/indra/llprimitive/llvolumexml.cpp @@ -34,9 +34,9 @@  //============================================================================ -LLXMLNode *LLVolumeXml::exportProfileParams(const LLProfileParams* params) +LLPointer<LLXMLNode> LLVolumeXml::exportProfileParams(const LLProfileParams* params)  { -	LLXMLNode *ret = new LLXMLNode("profile", FALSE); +	LLPointer<LLXMLNode> ret = new LLXMLNode("profile", FALSE);  	ret->createChild("curve_type", TRUE)->setByteValue(1, ¶ms->getCurveType());  	ret->createChild("interval", FALSE)->setFloatValue(2, ¶ms->getBegin()); @@ -46,9 +46,9 @@ LLXMLNode *LLVolumeXml::exportProfileParams(const LLProfileParams* params)  } -LLXMLNode *LLVolumeXml::exportPathParams(const LLPathParams* params) +LLPointer<LLXMLNode> LLVolumeXml::exportPathParams(const LLPathParams* params)  { -	LLXMLNode *ret = new LLXMLNode("path", FALSE);  +	LLPointer<LLXMLNode> ret = new LLXMLNode("path", FALSE);   	ret->createChild("curve_type", TRUE)->setByteValue(1, ¶ms->getCurveType());  	ret->createChild("interval", FALSE)->setFloatValue(2, ¶ms->getBegin());  	ret->createChild("scale", FALSE)->setFloatValue(2, params->getScale().mV); @@ -63,12 +63,15 @@ LLXMLNode *LLVolumeXml::exportPathParams(const LLPathParams* params)  } -LLXMLNode *LLVolumeXml::exportVolumeParams(const LLVolumeParams* params) +LLPointer<LLXMLNode> LLVolumeXml::exportVolumeParams(const LLVolumeParams* params)  { -	LLXMLNode *ret = new LLXMLNode("shape", FALSE); +	LLPointer<LLXMLNode> ret = new LLXMLNode("shape", FALSE); -	exportPathParams(¶ms->getPathParams())->setParent(ret); -	exportProfileParams(¶ms->getProfileParams())->setParent(ret); +	LLPointer<LLXMLNode> node ; +	node = exportPathParams(¶ms->getPathParams()) ; +	node->setParent(ret); +	node = exportProfileParams(¶ms->getProfileParams()) ; +	node->setParent(ret);  	return ret;  } diff --git a/indra/llprimitive/llvolumexml.h b/indra/llprimitive/llvolumexml.h index 5e79205d9a..9d4d989475 100644 --- a/indra/llprimitive/llvolumexml.h +++ b/indra/llprimitive/llvolumexml.h @@ -34,11 +34,11 @@  class LLVolumeXml  {  public: -	static LLXMLNode* exportProfileParams(const LLProfileParams* params); +	static LLPointer<LLXMLNode> exportProfileParams(const LLProfileParams* params); -	static LLXMLNode* exportPathParams(const LLPathParams* params); +	static LLPointer<LLXMLNode> exportPathParams(const LLPathParams* params); -	static LLXMLNode* exportVolumeParams(const LLVolumeParams* params); +	static LLPointer<LLXMLNode> exportVolumeParams(const LLVolumeParams* params);  };  #endif // LL_LLVOLUMEXML_H diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 79ad99a770..69461ec099 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -1823,9 +1823,12 @@ void LLUI::setupPaths()  	LLXMLNodePtr root;  	BOOL success  = LLXMLNode::parseFile(filename, root, NULL);  	Paths paths; -	LLXUIParser parser; -	parser.readXUI(root, paths, filename); +	if(success) +	{ +		LLXUIParser parser; +		parser.readXUI(root, paths, filename); +	}  	sXUIPaths.clear();  	if (success && paths.validateBlock()) diff --git a/indra/llxml/llxmlnode.cpp b/indra/llxml/llxmlnode.cpp index 4362c88c4e..2b4a0fc2a1 100644 --- a/indra/llxml/llxmlnode.cpp +++ b/indra/llxml/llxmlnode.cpp @@ -693,7 +693,7 @@ bool LLXMLNode::parseFile(const std::string& filename, LLXMLNodePtr& node, LLXML  	LLFILE* fp = LLFile::fopen(filename, "rb");		/* Flawfinder: ignore */  	if (fp == NULL)  	{ -		node = new LLXMLNode(); +		node = NULL ;  		return false;  	}  	fseek(fp, 0, SEEK_END); @@ -746,7 +746,7 @@ bool LLXMLNode::parseBuffer(  	{  		llwarns << "Parse failure - wrong number of top-level nodes xml."  				<< llendl; -		node = new LLXMLNode(); +		node = NULL ;  		return false;  	} @@ -805,7 +805,7 @@ bool LLXMLNode::parseStream(  	{  		llwarns << "Parse failure - wrong number of top-level nodes xml."  				<< llendl; -		node = new LLXMLNode(); +		node = NULL;  		return false;  	} @@ -1206,7 +1206,7 @@ bool LLXMLNode::getChild(const LLStringTableEntry* name, LLXMLNodePtr& node, BOO  	{  		return mDefault->getChild(name, node, FALSE);  	} -	node = new LLXMLNode(); +	node = NULL;  	return false;  } diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index 878f992178..5a525f84a8 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -1247,6 +1247,7 @@ bool LLSimpleXUIParser::readXUI(const std::string& filename, LLInitParam::BaseBl  	if( !file.isOpen() )  	{  		LL_WARNS("ReadXUI") << "Unable to open file " << filename << LL_ENDL; +		XML_ParserFree( mParser );  		return false;  	} diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 8ecf4a80b7..2d7437f4f3 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -7020,7 +7020,6 @@ void LLVivoxVoiceClient::captureBufferPlayStopSendMessage()  LLVivoxProtocolParser::LLVivoxProtocolParser()  { -	parser = NULL;  	parser = XML_ParserCreate(NULL);  	reset(); | 
