diff options
| author | Ychebotarev ProductEngine <ychebotarev@productengine.com> | 2010-03-01 15:32:22 +0200 | 
|---|---|---|
| committer | Ychebotarev ProductEngine <ychebotarev@productengine.com> | 2010-03-01 15:32:22 +0200 | 
| commit | 5351688b9d102576513bac45b427d5228764eb0b (patch) | |
| tree | 7bfa5b93b513a0075102574f8288ec6036501e74 | |
| parent | 60fde8d512cfe7456ad5756c22f8bd9284c0c14e (diff) | |
fix for major EXT-5694 Only first recepient from ad-hoc conference is added to recent speakers
--HG--
branch : product-engine
| -rw-r--r-- | indra/newview/llimview.cpp | 37 | 
1 files changed, 36 insertions, 1 deletions
| diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index e87399abab..1dc601e260 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -952,7 +952,42 @@ void LLIMModel::sendMessage(const std::string& utf8_text,  	}  	// Add the recipient to the recent people list. -	LLRecentPeople::instance().add(other_participant_id); +	bool is_not_group_id = LLGroupMgr::getInstance()->getGroupData(other_participant_id) == NULL; + +	if (is_not_group_id) +	{ +			 +#if 0 +		//use this code to add only online members	 +		LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(im_session_id); +		LLSpeakerMgr::speaker_list_t speaker_list; +		speaker_mgr->getSpeakerList(&speaker_list, true); +		for(LLSpeakerMgr::speaker_list_t::iterator it = speaker_list.begin(); it != speaker_list.end(); it++) +		{ +			const LLPointer<LLSpeaker>& speakerp = *it; + +			LLRecentPeople::instance().add(speakerp->mID); +		} +#else +		LLIMModel::LLIMSession* session = LLIMModel::getInstance()->findIMSession(im_session_id); +		if( session == 0)//??? shouldn't really happen +		{ +			LLRecentPeople::instance().add(other_participant_id); +		} +		else +		{ +			for(std::vector<LLUUID>::iterator it = session->mInitialTargetIDs.begin(); +				it!=session->mInitialTargetIDs.end();++it) +			{ +				const LLUUID id = *it; + +				LLRecentPeople::instance().add(id); +			} +		} +#endif +	} + +	  }  void session_starter_helper( | 
