diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llpathfindinglinksetlist.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llviewerobject.cpp | 34 | 
2 files changed, 32 insertions, 9 deletions
| diff --git a/indra/newview/llpathfindinglinksetlist.cpp b/indra/newview/llpathfindinglinksetlist.cpp index b886e46765..eb7b95552e 100644 --- a/indra/newview/llpathfindinglinksetlist.cpp +++ b/indra/newview/llpathfindinglinksetlist.cpp @@ -204,7 +204,10 @@ void LLPathfindingLinksetList::parseLinksetListData(const LLSD& pLinksetListData  	{  		const std::string& uuid(linksetDataIter->first);  		const LLSD& linksetData = linksetDataIter->second; -		LLPathfindingObjectPtr linksetPtr(new LLPathfindingLinkset(uuid, linksetData)); -		objectMap.insert(std::pair<std::string, LLPathfindingObjectPtr>(uuid, linksetPtr)); +		if(linksetData.size() != 0) +		{ +			LLPathfindingObjectPtr linksetPtr(new LLPathfindingLinkset(uuid, linksetData)); +			objectMap.insert(std::pair<std::string, LLPathfindingObjectPtr>(uuid, linksetPtr)); +		}  	}  } diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 5edc3c9745..13cdcd6954 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -1434,10 +1434,14 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,  					setChanged(MOVED | SILHOUETTE);  				} -				else if (mText.notNull()) +				else  				{ -					mText->markDead(); -					mText = NULL; +					if (mText.notNull()) +					{ +						mText->markDead(); +						mText = NULL; +					} +					mHudText.clear();  				}  				std::string media_url; @@ -1812,10 +1816,14 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,  					setChanged(TEXTURE);  				} -				else if(mText.notNull()) +				else  				{ -					mText->markDead(); -					mText = NULL; +					if (mText.notNull()) +					{ +						mText->markDead(); +						mText = NULL; +					} +					mHudText.clear();  				}                  std::string media_url; @@ -4990,8 +4998,20 @@ void LLViewerObject::initHudText()  void LLViewerObject::restoreHudText()  { -    if(mText) +    if (mHudText.empty())      { +        if (mText) +        { +            mText->markDead(); +            mText = NULL; +        } +    } +    else +    { +        if (!mText) +        { +            initHudText(); +        }          mText->setColor(mHudTextColor);          mText->setString(mHudText);      } | 
