diff options
Diffstat (limited to 'linden/indra/newview/llpanellogin.cpp')
-rw-r--r-- | linden/indra/newview/llpanellogin.cpp | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp index d3e295d..64a8a1f 100644 --- a/linden/indra/newview/llpanellogin.cpp +++ b/linden/indra/newview/llpanellogin.cpp | |||
@@ -634,7 +634,23 @@ void LLPanelLogin::addServer(const std::string& server) | |||
634 | } | 634 | } |
635 | else | 635 | else |
636 | { | 636 | { |
637 | std::string last_grid = gSavedSettings.getString("LastSelectedGrid"); | 637 | std::string last_grid = gSavedSettings.getString("CmdLineGridChoice");//imprudence TODO:errorcheck |
638 | std::string cmd_line_login_uri = gSavedSettings.getLLSD("CmdLineLoginURI").asString(); | ||
639 | if (!last_grid.empty()&& cmd_line_login_uri.empty())//don't use --grid if --loginuri is also given | ||
640 | { | ||
641 | //give user chance to change their mind, even with --grid set | ||
642 | gSavedSettings.setString("CmdLineGridChoice",""); | ||
643 | } | ||
644 | else if (!cmd_line_login_uri.empty()) | ||
645 | { | ||
646 | last_grid = cmd_line_login_uri; | ||
647 | //also clear --grid no matter if it was given | ||
648 | gSavedSettings.setString("CmdLineGridChoice",""); | ||
649 | } | ||
650 | else if (last_grid.empty()) | ||
651 | { | ||
652 | last_grid = gSavedSettings.getString("LastSelectedGrid"); | ||
653 | } | ||
638 | if (last_grid.empty()) last_grid = defaultGrid; | 654 | if (last_grid.empty()) last_grid = defaultGrid; |
639 | grids->setSimple(last_grid); | 655 | grids->setSimple(last_grid); |
640 | } | 656 | } |
@@ -876,17 +892,17 @@ void LLPanelLogin::loadLoginPage() | |||
876 | location = "home"; | 892 | location = "home"; |
877 | } | 893 | } |
878 | } | 894 | } |
879 | 895 | ||
880 | std::string firstname, lastname; | 896 | std::string firstname, lastname; |
881 | 897 | ||
882 | if(gSavedSettings.getLLSD("UserLoginInfo").size() == 3) | 898 | if(gSavedSettings.getLLSD("UserLoginInfo").size() == 3) |
883 | { | 899 | { |
884 | LLSD cmd_line_login = gSavedSettings.getLLSD("UserLoginInfo"); | 900 | LLSD cmd_line_login = gSavedSettings.getLLSD("UserLoginInfo"); |
885 | firstname = cmd_line_login[0].asString(); | 901 | firstname = cmd_line_login[0].asString(); |
886 | lastname = cmd_line_login[1].asString(); | 902 | lastname = cmd_line_login[1].asString(); |
887 | password = cmd_line_login[2].asString(); | 903 | password = cmd_line_login[2].asString(); |
888 | } | 904 | } |
889 | 905 | ||
890 | if (firstname.empty()) | 906 | if (firstname.empty()) |
891 | { | 907 | { |
892 | firstname = gSavedSettings.getString("FirstName"); | 908 | firstname = gSavedSettings.getString("FirstName"); |