From a5eb15da0a89c6f9df7d426c0c3c41df445cfd2f Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 16 Apr 2020 22:28:28 +0300 Subject: SL-13008 Crash after a second login attempt with unsupported name format --- indra/newview/llpanellogin.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'indra/newview/llpanellogin.cpp') diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 224cec9650..65d7aac7d6 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -684,7 +684,6 @@ void LLPanelLogin::getFields(LLPointer& credential, if (LLPanelLogin::sInstance->mPasswordModified) { - authenticator = LLSD::emptyMap(); // password is plaintext authenticator["type"] = CRED_AUTHENTICATOR_TYPE_CLEAR; authenticator["secret"] = password; @@ -695,6 +694,15 @@ void LLPanelLogin::getFields(LLPointer& credential, if (credential.notNull()) { authenticator = credential->getAuthenticator(); + if (authenticator.emptyMap()) + { + // Likely caused by user trying to log in to non-system grid + // with unsupported name format, just retry + LL_WARNS() << "Authenticator failed to load for: " << username << LL_ENDL; + // password is plaintext + authenticator["type"] = CRED_AUTHENTICATOR_TYPE_CLEAR; + authenticator["secret"] = password; + } } } } -- cgit v1.2.3 From ce57c2d8c1bd3c6da6c05b4c76aa7bf021808bfa Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 27 May 2020 13:44:48 +0300 Subject: SL-13292 Uncheck Remember Password option when Remember Me is unchecked --- indra/newview/llpanellogin.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'indra/newview/llpanellogin.cpp') diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 65d7aac7d6..fdfd63cd36 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -560,7 +560,7 @@ void LLPanelLogin::populateFields(LLPointer credential, bool remem { sInstance->getChild("remember_name")->setValue(remember_user); LLUICtrl* remember_password = sInstance->getChild("remember_password"); - remember_password->setValue(remember_psswrd); + remember_password->setValue(remember_user && remember_psswrd); remember_password->setEnabled(remember_user); sInstance->populateUserList(credential); } @@ -1142,7 +1142,11 @@ void LLPanelLogin::onRememberUserCheck(void*) remember_name->setValue(true); LLNotificationsUtil::add("LoginCantRemoveUsername"); } - remember_psswrd->setEnabled(remember); + if (!remember) + { + remember_psswrd->setValue(false); + } + remember_psswrd->setEnabled(remember); } } -- cgit v1.2.3