diff options
author | Alexei Arabadji <aarabadji@productengine.com> | 2010-01-26 18:25:42 +0200 |
---|---|---|
committer | Alexei Arabadji <aarabadji@productengine.com> | 2010-01-26 18:25:42 +0200 |
commit | 43bb3d00ecba66fe3dd9fa5a2d487ffc5633ed5e (patch) | |
tree | a76946ff443c85cb1bba93e009499eff433d86d0 /indra | |
parent | 9936155fb7db27cbe2915b6646e861a1f05c5846 (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')
-rw-r--r-- | indra/newview/llimview.cpp | 3 | ||||
-rw-r--r-- | indra/newview/llnotificationhandlerutil.cpp | 9 |
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); + } } } |