aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llcallingcard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/llcallingcard.cpp')
-rw-r--r--linden/indra/newview/llcallingcard.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/linden/indra/newview/llcallingcard.cpp b/linden/indra/newview/llcallingcard.cpp
index 86e0bfb..3a50cea 100644
--- a/linden/indra/newview/llcallingcard.cpp
+++ b/linden/indra/newview/llcallingcard.cpp
@@ -60,6 +60,8 @@
60#include "llviewerobjectlist.h" 60#include "llviewerobjectlist.h"
61#include "llviewerwindow.h" 61#include "llviewerwindow.h"
62#include "llvoavatar.h" 62#include "llvoavatar.h"
63#include "llimview.h"
64#include "llimpanel.h"
63 65
64///---------------------------------------------------------------------------- 66///----------------------------------------------------------------------------
65/// Local function declarations, constants, enums, and typedefs 67/// Local function declarations, constants, enums, and typedefs
@@ -671,7 +673,18 @@ void LLAvatarTracker::processNotify(LLMessageSystem* msg, bool online)
671 } 673 }
672 if(notify) 674 if(notify)
673 { 675 {
676 // Popup a notify box with online status of this agent
674 LLNotifyBox::showXml(online ? "FriendOnline" : "FriendOffline", args); 677 LLNotifyBox::showXml(online ? "FriendOnline" : "FriendOffline", args);
678
679 // If there's an open IM session with this agent, send a notification there too.
680 LLUUID session_id = LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, agent_id);
681 LLFloaterIMPanel *floater = gIMMgr->findFloaterBySession(session_id);
682 if (floater)
683 {
684 LLUIString notifyMsg = LLNotifyBox::getTemplateMessage((online ? "FriendOnline" : "FriendOffline"),args);
685 if (!notifyMsg.empty())
686 floater->addHistoryLine(notifyMsg,gSavedSettings.getColor4("SystemChatColor"));
687 }
675 } 688 }
676 689
677 mModifyMask |= LLFriendObserver::ONLINE; 690 mModifyMask |= LLFriendObserver::ONLINE;