diff --git a/indra/newview/fspanellogin.cpp b/indra/newview/fspanellogin.cpp index a1862b32ef..196f018cf9 100644 --- a/indra/newview/fspanellogin.cpp +++ b/indra/newview/fspanellogin.cpp @@ -451,7 +451,7 @@ void FSPanelLogin::show(const LLRect &rect, } // static -void FSPanelLogin::setFields(LLPointer credential) +void FSPanelLogin::setFields(LLPointer credential, bool from_startup /* = false*/) { if (!sInstance) { @@ -506,6 +506,10 @@ void FSPanelLogin::setFields(LLPointer credential) sInstance->getChild("password_edit")->clear(); remember = false; } + if (from_startup) + { + remember = gSavedSettings.getBOOL("RememberPassword"); + } sInstance->getChild("remember_check")->setValue(remember); } diff --git a/indra/newview/fspanellogin.h b/indra/newview/fspanellogin.h index fe02c1a0e0..f0693122e2 100644 --- a/indra/newview/fspanellogin.h +++ b/indra/newview/fspanellogin.h @@ -63,7 +63,7 @@ public: void (*callback)(S32 option, void* user_data), void* callback_data); - static void setFields(LLPointer credential); + static void setFields(LLPointer credential, bool from_startup = false); static void getFields(LLPointer& credential, BOOL& remember); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index d477aeea36..d107a49c7a 100755 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1097,7 +1097,7 @@ bool idle_startup() { // //LLPanelLogin::setFields( gUserCredential, gRememberPassword); - FSPanelLogin::setFields(gUserCredential); + FSPanelLogin::setFields(gUserCredential, true); // } display_startup();