summaryrefslogtreecommitdiff
path: root/indra/newview/llimview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llimview.cpp')
-rw-r--r--indra/newview/llimview.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index a604c884ca..aa5b9ce006 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -643,6 +643,12 @@ void LLIMModel::processSessionInitializedReply(const LLUUID& old_session_id, con
{
session->sessionInitReplyReceived(new_session_id);
+ if (old_session_id != new_session_id)
+ {
+ mId2SessionMap.erase(old_session_id);
+ mId2SessionMap[new_session_id] = session;
+ }
+
LLIMFloater* im_floater = LLIMFloater::findInstance(old_session_id);
if (im_floater)
{
@@ -651,9 +657,6 @@ void LLIMModel::processSessionInitializedReply(const LLUUID& old_session_id, con
if (old_session_id != new_session_id)
{
- mId2SessionMap.erase(old_session_id);
- mId2SessionMap[new_session_id] = session;
-
gIMMgr->notifyObserverSessionIDUpdated(old_session_id, new_session_id);
}