SL-16184 FIXED Frame stall when friend comes online.
parent
d2dce17803
commit
6ecf8f2c01
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
Loading…
Reference in New Issue