diff options
| -rw-r--r-- | indra/newview/llimview.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llimview.h | 5 | 
2 files changed, 11 insertions, 4 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index daabf1f717..87b2793f9f 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -382,10 +382,6 @@ void LLIMModel::LLIMSession::addMessage(const std::string& from, const LLUUID& f  		mSpeakers->speakerChatted(from_id);  		mSpeakers->setSpeakerTyping(from_id, FALSE);  	} - -	if( mSessionType == P2P_SESSION || -		mSessionType == ADHOC_SESSION) -		LLRecentPeople::instance().add(from_id);  }  void LLIMModel::LLIMSession::addMessagesFromHistory(const std::list<LLSD>& history) @@ -684,6 +680,12 @@ bool LLIMModel::addMessage(const LLUUID& session_id, const std::string& from, co  	LLIMSession* session = addMessageSilently(session_id, from, from_id, utf8_text, log2file);  	if (!session) return false; +	//good place to add some1 to recent list +	//other places may be called from message history. +	if( !from_id.isNull() && +		( session->isP2PSessionType() || session->isAdHocSessionType() ) ) +		LLRecentPeople::instance().add(from_id); +  	// notify listeners  	LLSD arg;  	arg["session_id"] = session_id; diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h index 20d8e28392..e72bda6c2b 100644 --- a/indra/newview/llimview.h +++ b/indra/newview/llimview.h @@ -78,6 +78,11 @@ public:  		bool isP2P();  		bool isOtherParticipantAvaline(); +		bool isP2PSessionType() const { return mSessionType == P2P_SESSION;} +		bool isAdHocSessionType() const { return mSessionType == ADHOC_SESSION;} +		bool isGroupSessionType() const { return mSessionType == GROUP_SESSION;} +		bool isAvalineSessionType() const { return mSessionType == AVALINE_SESSION;} +  		LLUUID mSessionID;  		std::string mName;  		EInstantMessage mType;  | 
