diff options
| author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-07-29 10:10:10 +0100 | 
|---|---|---|
| committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-07-29 10:10:10 +0100 | 
| commit | 4a41273078da14463fe86fe9abf2a2d8946d910e (patch) | |
| tree | b1c9e9df34912366b3020b076b0be19c024c5963 | |
| parent | 3d14fe23fcf7f05cb207c34fdfb13c54c668eba1 (diff) | |
| parent | f7009abf6589d4cdb86361e04293bf989ba7f140 (diff) | |
merge
| -rw-r--r-- | indra/newview/llnearbychatbar.cpp | 46 | ||||
| -rw-r--r-- | indra/newview/llnearbychatbar.h | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/fr/strings.xml | 4 | 
3 files changed, 38 insertions, 14 deletions
| diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index a300e15edd..8a52cf715f 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -317,9 +317,19 @@ void LLGestureComboList::refreshGestures()  	if (gestures)  	{ -		S32 index = gestures->getSelectedValue().asInteger(); -		if(index > 0) -			gesture = mGestures.at(index); +		S32 sel_index = gestures->getFirstSelectedIndex(); +		if (sel_index != 0) +		{ +			S32 index = gestures->getSelectedValue().asInteger(); +			if (index<0 || index >= (S32)mGestures.size()) +			{ +				llwarns << "out of range gesture access" << llendl; +			} +			else +			{ +				gesture = mGestures.at(index); +			} +		}  	}  	if(gesture && LLGestureMgr::instance().isGesturePlaying(gesture)) @@ -335,13 +345,13 @@ void LLGestureComboList::onCommitGesture()  	LLCtrlListInterface* gestures = getListInterface();  	if (gestures)  	{ -		S32 index = gestures->getFirstSelectedIndex(); -		if (index == 0) +		S32 sel_index = gestures->getFirstSelectedIndex(); +		if (sel_index == 0)  		{  			return;  		} -		index = gestures->getSelectedValue().asInteger(); +		S32 index = gestures->getSelectedValue().asInteger();  		if (mViewAllItemIndex == index)  		{ @@ -357,13 +367,20 @@ void LLGestureComboList::onCommitGesture()  			return;  		} -		LLMultiGesture* gesture = mGestures.at(index); -		if(gesture) +		if (index<0 || index >= (S32)mGestures.size()) +		{ +			llwarns << "out of range gesture index" << llendl; +		} +		else  		{ -			LLGestureMgr::instance().playGesture(gesture); -			if(!gesture->mReplaceText.empty()) +			LLMultiGesture* gesture = mGestures.at(index); +			if(gesture)  			{ -				LLNearbyChatBar::sendChatFromViewer(gesture->mReplaceText, CHAT_TYPE_NORMAL, FALSE); +				LLGestureMgr::instance().playGesture(gesture); +				if(!gesture->mReplaceText.empty()) +				{ +					LLNearbyChatBar::sendChatFromViewer(gesture->mReplaceText, CHAT_TYPE_NORMAL, FALSE); +				}  			}  		}  	} @@ -374,6 +391,13 @@ LLGestureComboList::~LLGestureComboList()  	LLGestureMgr::instance().removeObserver(this);  } +LLCtrlListInterface* LLGestureComboList::getListInterface() +{ +	LLCtrlListInterface *result = mList; +	llassert((LLCtrlListInterface*)mList==result); +	return mList; +}; +  LLNearbyChatBar::LLNearbyChatBar()   	: LLPanel()  	, mChatBox(NULL) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index 83c174fd10..0eaa60ce81 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -68,7 +68,7 @@ public:  	~LLGestureComboList(); -	LLCtrlListInterface* getListInterface()		{ return (LLCtrlListInterface*)mList; }; +	LLCtrlListInterface* getListInterface();  	virtual void	showList();  	virtual void	hideList();  	virtual BOOL	handleKeyHere(KEY key, MASK mask); diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index 7ef67d5912..7aadaed209 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -1472,7 +1472,7 @@  		Solde  	</string>  	<string name="Credits"> -		Remerciements +		Crédits  	</string>  	<string name="Debits">  		Débits @@ -1787,7 +1787,7 @@  		Solde  	</string>  	<string name="GroupMoneyCredits"> -		Remerciements +		Crédits  	</string>  	<string name="GroupMoneyDebits">  		Débits | 
