summaryrefslogtreecommitdiff
path: root/indra/newview/llavataractions.cpp
diff options
context:
space:
mode:
authorRoxie Linden <roxie@lindenlab.com>2024-09-05 12:07:51 -0700
committerRoxie Linden <roxie@lindenlab.com>2024-09-05 12:07:51 -0700
commitfe9596bf79659b2dd334fa6332473c8284df7659 (patch)
tree7fc634099985b022ddf88cabc69c64f4d69905e1 /indra/newview/llavataractions.cpp
parenta617dc8fab45353664dbec2d87845ea3af04319a (diff)
Fix race condition that was preventing "Voice Call" menu from reliably calling.
The code attempted to do a call to a session immediately after a call that launched a coroutine to set up a session. Sometimes, the coroutine executed in time, sometimes not. The fix is to set a flag to start a call after the session has been created on the server. Test Plan: * Close all active chat sessions. * Select 'Voice Call' in the context menu of a nearby avatar. * Validate popup appears for that nearby avatar requesting to start/ignore/go to im. * Select 'start' * Validate the call completes.
Diffstat (limited to 'indra/newview/llavataractions.cpp')
-rw-r--r--indra/newview/llavataractions.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp
index 038030a1f6..6f6b89ea81 100644
--- a/indra/newview/llavataractions.cpp
+++ b/indra/newview/llavataractions.cpp
@@ -242,10 +242,7 @@ static void on_avatar_name_cache_start_call(const LLUUID& agent_id,
{
std::string name = av_name.getDisplayName();
LLUUID session_id = gIMMgr->addSession(name, IM_NOTHING_SPECIAL, agent_id, LLSD());
- if (session_id != LLUUID::null)
- {
- gIMMgr->startCall(session_id);
- }
+ gIMMgr->autoStartCallOnStartup(session_id);
make_ui_sound("UISndStartIM");
}