diff options
author | Roxie Linden <roxie@lindenlab.com> | 2024-09-05 12:07:51 -0700 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2024-09-05 12:07:51 -0700 |
commit | fe9596bf79659b2dd334fa6332473c8284df7659 (patch) | |
tree | 7fc634099985b022ddf88cabc69c64f4d69905e1 | |
parent | a617dc8fab45353664dbec2d87845ea3af04319a (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.
-rw-r--r-- | indra/newview/llavataractions.cpp | 5 |
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"); } |