summaryrefslogtreecommitdiff
path: root/indra/newview/llstartup.cpp
diff options
context:
space:
mode:
authorGilbert Gonzales <gilbert@lindenlab.com>2012-08-24 13:57:57 -0700
committerGilbert Gonzales <gilbert@lindenlab.com>2012-08-24 13:57:57 -0700
commit31d69a6bc5a81dc3e844138033e41e339dce3aa1 (patch)
tree39119d49fcbbaf3cf7fda13b7b62970e1a2a5999 /indra/newview/llstartup.cpp
parent6e92b96e88401aaca203b627e84ce311b7f75e4a (diff)
parentb19e6c295972c83a2637a29007bc5d0a92711ea9 (diff)
merging in latest changes
Diffstat (limited to 'indra/newview/llstartup.cpp')
-rw-r--r--indra/newview/llstartup.cpp35
1 files changed, 23 insertions, 12 deletions
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index ba9c2c9e2f..ab72b4e512 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -2820,22 +2820,33 @@ bool LLStartUp::dispatchURL()
void LLStartUp::setStartSLURL(const LLSLURL& slurl)
{
- sStartSLURL = slurl;
- LL_DEBUGS("AppInit")<<slurl.asString()<<LL_ENDL;
+ LL_DEBUGS("AppInit")<<slurl.asString()<<LL_ENDL;
- switch(slurl.getType())
- {
- case LLSLURL::HOME_LOCATION:
- case LLSLURL::LAST_LOCATION:
- case LLSLURL::LOCATION:
- gSavedSettings.setString("LoginLocation", LLSLURL::SIM_LOCATION_HOME);
+ if ( slurl.isSpatial() )
+ {
+ std::string new_start = slurl.getSLURLString();
+ LL_DEBUGS("AppInit")<<new_start<<LL_ENDL;
+ sStartSLURL = slurl;
LLPanelLogin::onUpdateStartSLURL(slurl); // updates grid if needed
- break;
- default:
- break;
- }
+
+ // remember that this is where we wanted to log in...if the login fails,
+ // the next attempt will default to the same place.
+ gSavedSettings.setString("NextLoginLocation", new_start);
+ // following a successful login, this is cleared
+ // and the default reverts to LoginLocation
+ }
+ else
+ {
+ LL_WARNS("AppInit")<<"Invalid start SLURL (ignored): "<<slurl.asString()<<LL_ENDL;
+ }
}
+// static
+LLSLURL& LLStartUp::getStartSLURL()
+{
+ return sStartSLURL;
+}
+
/**
* Read all proxy configuration settings and set up both the HTTP proxy and
* SOCKS proxy as needed.