diff options
| author | Kent Quirk <q@lindenlab.com> | 2010-03-19 11:56:28 -0400 | 
|---|---|---|
| committer | Kent Quirk <q@lindenlab.com> | 2010-03-19 11:56:28 -0400 | 
| commit | 637105e5cf346e5a88fe5820f36f6233b404d5aa (patch) | |
| tree | 99cba275716451e82af5530eae561df3b0d4c8c0 | |
| parent | 5e0be34c26f384a111063399b619c82b2a951dcd (diff) | |
| parent | 167be8f755ccc6e4af27cfce25506d666af58c25 (diff) | |
Merge
| -rw-r--r-- | indra/newview/llnotificationhandler.h | 5 | ||||
| -rw-r--r-- | indra/newview/llnotificationhandlerutil.cpp | 19 | 
2 files changed, 19 insertions, 5 deletions
| diff --git a/indra/newview/llnotificationhandler.h b/indra/newview/llnotificationhandler.h index 62daf5f105..62008b91a0 100644 --- a/indra/newview/llnotificationhandler.h +++ b/indra/newview/llnotificationhandler.h @@ -357,6 +357,11 @@ public:  	static void addNotifPanelToIM(const LLNotificationPtr& notification);  	/** +	 * Updates messages of IM floater. +	 */ +	static void updateIMFLoaterMesages(const LLUUID& session_id); + +	/**  	 * Updates messages of visible IM floater.  	 */  	static void updateVisibleIMFLoaterMesages(const LLNotificationPtr& notification); diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp index 5affd5c677..55e0f33121 100644 --- a/indra/newview/llnotificationhandlerutil.cpp +++ b/indra/newview/llnotificationhandlerutil.cpp @@ -252,6 +252,9 @@ void LLHandlerUtil::logToIM(const EInstantMessage& session_type,  		session->mNumUnread = unread;  		session->mParticipantUnreadMessageCount = participant_unread; +		// update IM floater messages +		updateIMFLoaterMesages(session_id); +  		// restore active session id  		if (active_session_id.isNull())  		{ @@ -415,12 +418,8 @@ void LLHandlerUtil::addNotifPanelToIM(const LLNotificationPtr& notification)  }  // static -void LLHandlerUtil::updateVisibleIMFLoaterMesages(const LLNotificationPtr& notification) +void LLHandlerUtil::updateIMFLoaterMesages(const LLUUID& session_id)  { -	const std::string name = LLHandlerUtil::getSubstitutionName(notification); -	LLUUID from_id = notification->getPayload()["from_id"]; -	LLUUID session_id = spawnIMSession(name, from_id); -  	LLIMFloater* im_floater = LLIMFloater::findInstance(session_id);  	if (im_floater != NULL && im_floater->getVisible())  	{ @@ -429,6 +428,16 @@ void LLHandlerUtil::updateVisibleIMFLoaterMesages(const LLNotificationPtr& notif  }  // static +void LLHandlerUtil::updateVisibleIMFLoaterMesages(const LLNotificationPtr& notification) +{ +	const std::string name = LLHandlerUtil::getSubstitutionName(notification); +	LLUUID from_id = notification->getPayload()["from_id"]; +	LLUUID session_id = spawnIMSession(name, from_id); + +	updateIMFLoaterMesages(session_id); +} + +// static  void LLHandlerUtil::decIMMesageCounter(const LLNotificationPtr& notification)  {  	const std::string name = LLHandlerUtil::getSubstitutionName(notification); | 
