diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 53fec78282..5ddce65ffb 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -1760,13 +1760,13 @@
AssetFetchConcurrency
AuctionShowFence
diff --git a/indra/newview/fspanellogin.cpp b/indra/newview/fspanellogin.cpp
index 2bbaa1adcd..fa128c7d4a 100644
--- a/indra/newview/fspanellogin.cpp
+++ b/indra/newview/fspanellogin.cpp
@@ -82,6 +82,7 @@ const S32 MAX_PASSWORD_OPENSIM = 255;
FSPanelLogin *FSPanelLogin::sInstance = NULL;
BOOL FSPanelLogin::sCapslockDidNotification = FALSE;
+BOOL FSPanelLogin::sCredentialSet = FALSE;
std::string FSPanelLogin::sPassword = "";
// Helper for converting a user name into the canonical "Firstname Lastname" form.
@@ -187,6 +188,7 @@ FSPanelLogin::FSPanelLogin(const LLRect &rect,
setBackgroundOpaque(TRUE);
mPasswordModified = FALSE;
+
FSPanelLogin::sInstance = this;
LLView* login_holder = gViewerWindow->getLoginPanelHolder();
@@ -463,6 +465,7 @@ void FSPanelLogin::setFields(LLPointer credential, bool from_start
LL_WARNS() << "Attempted setFields with no login view shown" << LL_ENDL;
return;
}
+ sCredentialSet = TRUE;
LL_INFOS("Credentials") << "Setting login fields to " << *credential << LL_ENDL;
std::string login_id;
@@ -727,9 +730,12 @@ void FSPanelLogin::onUpdateStartSLURL(const LLSLURL& new_start_slurl)
updateServer(); // to change the links and splash screen
}
- location_combo->setTextEntry(new_start_slurl.getLocationString());
- sInstance->mLocationLength = new_start_slurl.getLocationString().length();
- sInstance->updateLoginButtons();
+ if ( new_start_slurl.getLocationString().length() )
+ {
+ location_combo->setTextEntry(new_start_slurl.getLocationString());
+ sInstance->mLocationLength = new_start_slurl.getLocationString().length();
+ sInstance->updateLoginButtons();
+ }
}
else
{
@@ -908,6 +914,7 @@ void FSPanelLogin::onClickConnect(void *)
}
else
{
+ sCredentialSet = FALSE;
LLPointer cred;
BOOL remember;
getFields(cred, remember);
diff --git a/indra/newview/fspanellogin.h b/indra/newview/fspanellogin.h
index 656e6654b5..9941d8171f 100644
--- a/indra/newview/fspanellogin.h
+++ b/indra/newview/fspanellogin.h
@@ -58,6 +58,8 @@ public:
static void getFields(LLPointer& credential, BOOL& remember);
+ static BOOL isCredentialSet() { return sCredentialSet; }
+
static BOOL areCredentialFieldsDirty();
static void setLocation(const LLSLURL& slurl);
static void autologinToLocation(const LLSLURL& slurl);
@@ -122,6 +124,8 @@ private:
static FSPanelLogin* sInstance;
static BOOL sCapslockDidNotification;
+ static BOOL sCredentialSet;
+
unsigned int mUsernameLength;
unsigned int mPasswordLength;
unsigned int mLocationLength;
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index e476cccab8..4d087e3198 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -1132,13 +1132,16 @@ 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);
+ //}
+ if (gUserCredential.notNull() && !FSPanelLogin::isCredentialSet())
{
-//
- //LLPanelLogin::setFields( gUserCredential, gRememberPassword);
FSPanelLogin::setFields(gUserCredential, true);
-//
}
+ //
// [FS Login Panel]
//LLPanelLogin::giveFocus();
FSPanelLogin::giveFocus();
diff --git a/indra/newview/skins/default/xui/en/floater_linkreplace.xml b/indra/newview/skins/default/xui/en/floater_linkreplace.xml
index ece75e2576..1c37a408e8 100644
--- a/indra/newview/skins/default/xui/en/floater_linkreplace.xml
+++ b/indra/newview/skins/default/xui/en/floater_linkreplace.xml
@@ -3,7 +3,7 @@
name="linkreplace"
help_topic="linkreplace"
positioning="centered"
- title="REPLACE INVENTORY LINKS"
+ title="Replace Inventory Links"
width="333"
height="130"
save_rect="true"