MAINT-7835 Start location is not changed correctly via 'maps.secondlife.com' link in some cases
parent
36c991877f
commit
d8dd2e7899
|
|
@ -75,6 +75,7 @@
|
|||
|
||||
LLPanelLogin *LLPanelLogin::sInstance = NULL;
|
||||
BOOL LLPanelLogin::sCapslockDidNotification = FALSE;
|
||||
BOOL LLPanelLogin::sCredentialSet = FALSE;
|
||||
|
||||
class LLLoginLocationAutoHandler : public LLCommandHandler
|
||||
{
|
||||
|
|
@ -176,6 +177,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
|
|||
setBackgroundOpaque(TRUE);
|
||||
|
||||
mPasswordModified = FALSE;
|
||||
|
||||
LLPanelLogin::sInstance = this;
|
||||
|
||||
LLView* login_holder = gViewerWindow->getLoginPanelHolder();
|
||||
|
|
@ -458,6 +460,7 @@ void LLPanelLogin::setFields(LLPointer<LLCredential> credential,
|
|||
LL_WARNS() << "Attempted fillFields with no login view shown" << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
sCredentialSet = TRUE;
|
||||
LL_INFOS("Credentials") << "Setting login fields to " << *credential << LL_ENDL;
|
||||
|
||||
LLSD identifier = credential->getIdentifier();
|
||||
|
|
@ -680,10 +683,8 @@ void LLPanelLogin::onUpdateStartSLURL(const LLSLURL& new_start_slurl)
|
|||
}
|
||||
if ( new_start_slurl.getLocationString().length() )
|
||||
{
|
||||
if (location_combo->getCurrentIndex() == -1)
|
||||
{
|
||||
location_combo->setLabel(new_start_slurl.getLocationString());
|
||||
}
|
||||
|
||||
location_combo->setLabel(new_start_slurl.getLocationString());
|
||||
sInstance->mLocationLength = new_start_slurl.getLocationString().length();
|
||||
sInstance->updateLoginButtons();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,9 +56,11 @@ public:
|
|||
void* callback_data);
|
||||
|
||||
static void setFields(LLPointer<LLCredential> credential, BOOL remember);
|
||||
|
||||
|
||||
static void getFields(LLPointer<LLCredential>& credential, BOOL& remember);
|
||||
|
||||
static BOOL isCredentialSet() { return sCredentialSet; }
|
||||
|
||||
static BOOL areCredentialFieldsDirty();
|
||||
static void setLocation(const LLSLURL& slurl);
|
||||
static void autologinToLocation(const LLSLURL& slurl);
|
||||
|
|
@ -115,6 +117,8 @@ private:
|
|||
static LLPanelLogin* sInstance;
|
||||
static BOOL sCapslockDidNotification;
|
||||
bool mFirstLoginThisInstall;
|
||||
|
||||
static BOOL sCredentialSet;
|
||||
|
||||
unsigned int mUsernameLength;
|
||||
unsigned int mPasswordLength;
|
||||
|
|
|
|||
|
|
@ -766,7 +766,7 @@ bool idle_startup()
|
|||
// Show the login dialog
|
||||
login_show();
|
||||
// connect dialog is already shown, so fill in the names
|
||||
if (gUserCredential.notNull())
|
||||
if (gUserCredential.notNull() && !LLPanelLogin::isCredentialSet())
|
||||
{
|
||||
LLPanelLogin::setFields( gUserCredential, gRememberPassword);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue