summaryrefslogtreecommitdiff
path: root/indra/newview/llstartup.cpp
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@geenzo.com>2025-03-13 05:28:36 -0400
committerJonathan "Geenz" Goodman <geenz@geenzo.com>2025-03-13 05:28:36 -0400
commit97085ed30057ce950184f057340e0ecbcfc7614b (patch)
treed7c26441b7374123fbba3db08008db6922881df8 /indra/newview/llstartup.cpp
parent6bdc56c7af3ea8e3335145927cb505249e71491c (diff)
parent693e05ab85b3fcdc65bcb9f4123c2fae4ecc27fc (diff)
Merge branch 'release/2025.03' into rye/forevermac
Diffstat (limited to 'indra/newview/llstartup.cpp')
-rw-r--r--indra/newview/llstartup.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index eb0e9ef4bc..3973036cc6 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -1714,6 +1714,15 @@ bool idle_startup()
gAssetStorage->setUpstream(regionp->getHost());
gCacheName->setUpstream(regionp->getHost());
}
+
+ // It is entirely possible that we may get the friends list _before_ we have the callbacks registered to process that.
+ // This will lead to the friends list not being processed properly and online statuses not being updated appropriately at login.
+ // So, we need to make sure that we have the callbacks registered before we get the friends list.
+ // This appears to crop up on some systems somewhere between STATE_AGENT_SEND and STATE_INVENTORY_SEND. It's happened to me a few times now.
+ // -Geenz 2025-03-12
+ LL_INFOS() << " AvatarTracker" << LL_ENDL;
+ LLAvatarTracker::instance().registerCallbacks(gMessageSystem);
+
do_startup_frame();
// Create login effect
@@ -2013,8 +2022,6 @@ bool idle_startup()
LLMessageSystem* msg = gMessageSystem;
LL_INFOS() << " Inventory" << LL_ENDL;
LLInventoryModel::registerCallbacks(msg);
- LL_INFOS() << " AvatarTracker" << LL_ENDL;
- LLAvatarTracker::instance().registerCallbacks(msg);
LL_INFOS() << " Landmark" << LL_ENDL;
LLLandmark::registerCallbacks(msg);
do_startup_frame();