summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorAlexei Arabadji <aarabadji@productengine.com>2010-01-26 18:25:42 +0200
committerAlexei Arabadji <aarabadji@productengine.com>2010-01-26 18:25:42 +0200
commit43bb3d00ecba66fe3dd9fa5a2d487ffc5633ed5e (patch)
treea76946ff443c85cb1bba93e009499eff433d86d0 /indra/newview
parent9936155fb7db27cbe2915b6646e861a1f05c5846 (diff)
fixed EXT-4643 “IM toasts don't appear after few teleport offers were sent to that avatar”
corrected checking opened active IM session; corrected restoring active IM session after logging IM notification; --HG-- branch : product-engine
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llimview.cpp3
-rw-r--r--indra/newview/llnotificationhandlerutil.cpp9
2 files changed, 10 insertions, 2 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 1b1e6501c0..f90a51c3f3 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -95,7 +95,8 @@ void toast_callback(const LLSD& msg){
}
// check whether incoming IM belongs to an active session or not
- if (LLIMModel::getInstance()->getActiveSessionID() == msg["session_id"])
+ if (LLIMModel::getInstance()->getActiveSessionID().notNull()
+ && LLIMModel::getInstance()->getActiveSessionID() == msg["session_id"])
{
return;
}
diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp
index fba5773602..02f948eca9 100644
--- a/indra/newview/llnotificationhandlerutil.cpp
+++ b/indra/newview/llnotificationhandlerutil.cpp
@@ -123,7 +123,14 @@ void LLHandlerUtil::logToIM(const EInstantMessage& session_type,
message);
// restore active session id
- LLIMModel::instance().setActiveSessionID(active_session_id);
+ if (active_session_id.isNull())
+ {
+ LLIMModel::instance().resetActiveSessionID();
+ }
+ else
+ {
+ LLIMModel::instance().setActiveSessionID(active_session_id);
+ }
}
}