summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Linden <46733234+brad-linden@users.noreply.github.com>2024-08-26 16:04:30 -0700
committerGitHub <noreply@github.com>2024-08-26 16:04:30 -0700
commite5fd6854aedb620825ffcd079c5bb3aa1c90b134 (patch)
treea372beb83eadcb14f19d86e1d3999dd6b11b62bf
parent0edf6e230e4580fc61917bc823f82d983d807ccf (diff)
parente23f2f1cf7c5a3b34d1635c490e5c8871a4d9d5c (diff)
Merge pull request #2422 from secondlife/brad/2395-fix-start-location
Fix start location dropping coordinates on login
-rw-r--r--indra/newview/lllogininstance.cpp5
-rw-r--r--indra/viewer_components/login/lllogin.cpp2
2 files changed, 4 insertions, 3 deletions
diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp
index c54d2c080f..ad04c11cc6 100644
--- a/indra/newview/lllogininstance.cpp
+++ b/indra/newview/lllogininstance.cpp
@@ -602,13 +602,14 @@ std::string construct_start_string()
{
// a startup URL was specified
LLVector3 position = start_slurl.getPosition();
- std::string unescaped_start =
+ // NOTE - do not xml escape here, will get escaped properly later by LLSD::asXMLRPCValue()
+ // see secondlife/viewer#2395
+ start =
STRINGIZE( "uri:"
<< start_slurl.getRegion() << "&"
<< position[VX] << "&"
<< position[VY] << "&"
<< position[VZ]);
- start = LLStringFn::xml_encode(unescaped_start, true);
break;
}
case LLSLURL::HOME_LOCATION:
diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp
index 53bf97a47e..feebecf4cb 100644
--- a/indra/viewer_components/login/lllogin.cpp
+++ b/indra/viewer_components/login/lllogin.cpp
@@ -128,7 +128,7 @@ void LLLogin::Impl::connect(const std::string& uri, const LLSD& login_params)
// Launch a coroutine with our login_() method. Run the coroutine until
// its first wait; at that point, return here.
std::string coroname =
- LLCoros::instance().launch("LLLogin::Impl::login_", [&]() { loginCoro(uri, login_params); });
+ LLCoros::instance().launch("LLLogin::Impl::login_", [=]() { loginCoro(uri, login_params); });
LL_DEBUGS("LLLogin") << " connected with uri '" << uri << "', login_params " << login_params << LL_ENDL;
}