diff options
| author | Igor Borovkov <iborovkov@productengine.com> | 2010-01-28 15:51:49 +0200 | 
|---|---|---|
| committer | Igor Borovkov <iborovkov@productengine.com> | 2010-01-28 15:51:49 +0200 | 
| commit | f6fceac081a1f2d165679ce3eb233e97806cebe7 (patch) | |
| tree | b187c3e2ef509684e11920feb47cc302bc6718f4 | |
| parent | 14caf5475b8963e6b6689e96a0a7a64e13bb1887 (diff) | |
fixed EXT-3841 [BSI] "Send IM..." choosable in IM floater context menu
--HG--
branch : product-engine
| -rw-r--r-- | indra/llcommon/llchat.h | 4 | ||||
| -rw-r--r-- | indra/newview/llchathistory.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llimfloater.cpp | 1 | 
3 files changed, 12 insertions, 1 deletions
| diff --git a/indra/llcommon/llchat.h b/indra/llcommon/llchat.h index 5af7991006..46456882ba 100644 --- a/indra/llcommon/llchat.h +++ b/indra/llcommon/llchat.h @@ -87,7 +87,8 @@ public:  		mTimeStr(),  		mPosAgent(),  		mURL(), -		mChatStyle(CHAT_STYLE_NORMAL) +		mChatStyle(CHAT_STYLE_NORMAL), +		mSessionID()  	{ }  	std::string		mText;		// UTF-8 line of text @@ -102,6 +103,7 @@ public:  	LLVector3		mPosAgent;  	std::string		mURL;  	EChatStyle		mChatStyle; +	LLUUID			mSessionID;  };  #endif diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index d6a7edee5b..2cdbd18996 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -34,6 +34,7 @@  #include "llinstantmessage.h" +#include "llimview.h"  #include "llchathistory.h"  #include "llpanel.h"  #include "lluictrlfactory.h" @@ -183,6 +184,7 @@ public:  	void setup(const LLChat& chat,const LLStyle::Params& style_params)   	{  		mAvatarID = chat.mFromID; +		mSessionID = chat.mSessionID;  		mSourceType = chat.mSourceType;  		gCacheName->get(mAvatarID, FALSE, boost::bind(&LLChatHistoryHeader::nameUpdatedCallback, this, _1, _2, _3, _4));  		if(chat.mFromID.isNull()) @@ -305,6 +307,11 @@ protected:  				menu->setItemEnabled("Remove Friend", false);  			} +			if (mSessionID == LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, mAvatarID)) +			{ +				menu->setItemVisible("Send IM", false); +			} +  			menu->buildDrawLabels();  			menu->updateParent(LLMenuGL::sMenuContainer);  			LLMenuGL::showPopup(this, menu, x, y); @@ -344,6 +351,7 @@ protected:  	std::string			mFirstName;  	std::string			mLastName;  	std::string			mFrom; +	LLUUID				mSessionID;  	S32					mMinUserNameWidth;  }; diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 73597e7de3..c0f22fcea2 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -599,6 +599,7 @@ void LLIMFloater::updateMessages()  			LLChat chat;  			chat.mFromID = from_id; +			chat.mSessionID = mSessionID;  			chat.mFromName = from;  			chat.mText = message;  			chat.mTimeStr = time; | 
