FIRE-5450: IM tab not flashing for conference chats if chat was initiated by oneself

Conference chats are initiated with a randomly generated UUID by the initiator. The server
then creates a new UUID and notifies the viewer about it. Need to make sure our
FSFloaterIMContainer then updates the session ID in its list of sessions properly.
Ansariel 2014-09-05 11:16:46 +02:00
parent 8d1d49a2de
commit 89a6662c41
2 changed files with 13 additions and 1 deletions

View File

@ -471,4 +471,16 @@ void FSFloaterIMContainer::checkFlashing()
gToolBarView->flashCommand(LLCommandId("chat"), false);
}
}
void FSFloaterIMContainer::sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id)
{
avatarID_panel_map_t::iterator found = mSessions.find(old_session_id);
if (found != mSessions.end())
{
LLFloater* floaterp = found->second;
mSessions.erase(found);
mSessions[new_session_id] = floaterp;
}
}
// EOF

View File

@ -72,7 +72,7 @@ public:
virtual void sessionActivated(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) {};
virtual void sessionVoiceOrIMStarted(const LLUUID& session_id) {};
virtual void sessionRemoved(const LLUUID& session_id);
virtual void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id) {};
virtual void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id);
static void reloadEmptyFloaters();
void initTabs();