summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorMnikolenko Productengine <mnikolenko@productengine.com>2021-10-20 14:53:55 +0300
committerMnikolenko Productengine <mnikolenko@productengine.com>2021-10-20 14:53:55 +0300
commit6ecf8f2c01dc90c26a8a0ccbd11abc2241debfa9 (patch)
tree5b9736f6ed395beb521720c61e64dfbcf13de51d /indra
parentd2dce17803a545378407d6b7c62fdcd3007a92bc (diff)
SL-16184 FIXED Frame stall when friend comes online.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llcallingcard.cpp5
-rw-r--r--indra/newview/llimview.cpp1
-rw-r--r--indra/newview/llinventorybridge.cpp25
-rw-r--r--indra/newview/llnotificationscripthandler.cpp3
-rw-r--r--indra/newview/llscreenchannel.cpp3
-rw-r--r--indra/newview/lltoastpanel.cpp3
6 files changed, 21 insertions, 19 deletions
diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp
index 6d20b23e9f..9ee9900eba 100644
--- a/indra/newview/llcallingcard.cpp
+++ b/indra/newview/llcallingcard.cpp
@@ -257,7 +257,6 @@ S32 LLAvatarTracker::addBuddyList(const LLAvatarTracker::buddy_map_t& buds)
LLAvatarName av_name;
LLAvatarNameCache::get(agent_id, &av_name);
- addChangedMask(LLFriendObserver::ADD, agent_id);
LL_DEBUGS() << "Added buddy " << agent_id
<< ", " << (mBuddyInfo[agent_id]->isOnline() ? "Online" : "Offline")
<< ", TO: " << mBuddyInfo[agent_id]->getRightsGrantedTo()
@@ -493,6 +492,7 @@ void LLAvatarTracker::notifyObservers()
// new masks and ids will be processed later from idle.
return;
}
+ LL_PROFILE_ZONE_SCOPED
mIsNotifyObservers = TRUE;
observer_list_t observers(mObservers);
@@ -678,6 +678,7 @@ void LLAvatarTracker::processChangeUserRights(LLMessageSystem* msg, void**)
void LLAvatarTracker::processNotify(LLMessageSystem* msg, bool online)
{
+ LL_PROFILE_ZONE_SCOPED
S32 count = msg->getNumberOfBlocksFast(_PREHASH_AgentBlock);
BOOL chat_notify = gSavedSettings.getBOOL("ChatOnlineNotification");
@@ -712,8 +713,6 @@ void LLAvatarTracker::processNotify(LLMessageSystem* msg, bool online)
// we were tracking someone who went offline
deleteTrackingData();
}
- // *TODO: get actual inventory id
- gInventory.addChangedMask(LLInventoryObserver::CALLING_CARD, LLUUID::null);
}
if(chat_notify)
{
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 1059324a16..f5358ba5f2 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -1229,7 +1229,6 @@ LLIMModel::LLIMSession* LLIMModel::addMessageSilently(const LLUUID& session_id,
if (!session)
{
- LL_WARNS() << "session " << session_id << "does not exist " << LL_ENDL;
return NULL;
}
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index fc8179f3b4..844d544e16 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -5714,14 +5714,14 @@ class LLCallingCardObserver : public LLFriendObserver
public:
LLCallingCardObserver(LLCallingCardBridge* bridge) : mBridgep(bridge) {}
virtual ~LLCallingCardObserver() { mBridgep = NULL; }
- virtual void changed(U32 mask)
- {
- mBridgep->refreshFolderViewItem();
- if (mask & LLFriendObserver::ONLINE)
- {
- mBridgep->checkSearchBySuffixChanges();
- }
- }
+ virtual void changed(U32 mask)
+ {
+ if (mask & LLFriendObserver::ONLINE)
+ {
+ mBridgep->refreshFolderViewItem();
+ mBridgep->checkSearchBySuffixChanges();
+ }
+ }
protected:
LLCallingCardBridge* mBridgep;
};
@@ -5735,14 +5735,15 @@ LLCallingCardBridge::LLCallingCardBridge(LLInventoryPanel* inventory,
const LLUUID& uuid ) :
LLItemBridge(inventory, root, uuid)
{
- mObserver = new LLCallingCardObserver(this);
- LLAvatarTracker::instance().addObserver(mObserver);
+ mObserver = new LLCallingCardObserver(this);
+ LLAvatarTracker::instance().addParticularFriendObserver(getItem()->getCreatorUUID(), mObserver);
}
LLCallingCardBridge::~LLCallingCardBridge()
{
- LLAvatarTracker::instance().removeObserver(mObserver);
- delete mObserver;
+ LLAvatarTracker::instance().removeParticularFriendObserver(getItem()->getCreatorUUID(), mObserver);
+
+ delete mObserver;
}
void LLCallingCardBridge::refreshFolderViewItem()
diff --git a/indra/newview/llnotificationscripthandler.cpp b/indra/newview/llnotificationscripthandler.cpp
index ba831ab2ed..d896c409d7 100644
--- a/indra/newview/llnotificationscripthandler.cpp
+++ b/indra/newview/llnotificationscripthandler.cpp
@@ -69,7 +69,8 @@ void LLScriptHandler::initChannel()
//--------------------------------------------------------------------------
void LLScriptHandler::addToastWithNotification(const LLNotificationPtr& notification)
{
- LLToastPanel* notify_box = LLToastPanel::buidPanelFromNotification(notification);
+ LL_PROFILE_ZONE_SCOPED
+ LLToastPanel* notify_box = LLToastPanel::buidPanelFromNotification(notification);
LLToast::Params p;
p.notif_id = notification->getID();
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp
index 681787bcbe..ca48c9d58c 100644
--- a/indra/newview/llscreenchannel.cpp
+++ b/indra/newview/llscreenchannel.cpp
@@ -259,7 +259,8 @@ void LLScreenChannel::updatePositionAndSize(LLRect new_world_rect)
//--------------------------------------------------------------------------
void LLScreenChannel::addToast(const LLToast::Params& p)
{
- bool store_toast = false, show_toast = false;
+ LL_PROFILE_ZONE_SCOPED
+ bool store_toast = false, show_toast = false;
if (mDisplayToastsAlways)
{
diff --git a/indra/newview/lltoastpanel.cpp b/indra/newview/lltoastpanel.cpp
index 100d5ee713..d43da93c61 100644
--- a/indra/newview/lltoastpanel.cpp
+++ b/indra/newview/lltoastpanel.cpp
@@ -114,7 +114,8 @@ void LLToastPanel::snapToMessageHeight(LLTextBase* message, S32 maxLineCount)
LLToastPanel* LLToastPanel::buidPanelFromNotification(
const LLNotificationPtr& notification)
{
- LLToastPanel* res = NULL;
+ LL_PROFILE_ZONE_SCOPED
+ LLToastPanel* res = NULL;
//process tip toast panels
if ("notifytip" == notification->getType())