diff options
| author | Nat Goodspeed <nat@lindenlab.com> | 2013-07-02 15:30:49 -0400 | 
|---|---|---|
| committer | Nat Goodspeed <nat@lindenlab.com> | 2013-07-02 15:30:49 -0400 | 
| commit | 09d8d17382c72b7741fde1334e832f39d773299f (patch) | |
| tree | e52e4b6fe748164e7cd0ea5adaf175cc62874b5c /indra | |
| parent | 774c410cc7538c1fdfcbf17250aa38532012d683 (diff) | |
CHOP-959: Introduce CmdLineLoginLocation var for --url and --slurl.
Route --url and --slurl command-line switches through a common settings
variable. Treat them uniformly now. (Previously, passing --url would notice a
grid-specific SLURL and preselect that grid; --slurl wouldn't. Now both do.)
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/newview/app_settings/cmd_line.xml | 6 | ||||
| -rwxr-xr-x | indra/newview/app_settings/settings.xml | 11 | ||||
| -rwxr-xr-x | indra/newview/llappviewer.cpp | 27 | 
3 files changed, 26 insertions, 18 deletions
| diff --git a/indra/newview/app_settings/cmd_line.xml b/indra/newview/app_settings/cmd_line.xml index 8ca33fbf54..71a052057c 100755 --- a/indra/newview/app_settings/cmd_line.xml +++ b/indra/newview/app_settings/cmd_line.xml @@ -372,7 +372,8 @@        <boolean>true</boolean>        <key>last_option</key>        <boolean>true</boolean> -      <!-- Special case. Not mapped to a setting. --> +      <key>map-to</key> +      <string>CmdLineLoginLocation</string>      </map>      <key>url</key> @@ -383,7 +384,8 @@        <integer>1</integer>        <key>last_option</key>        <boolean>true</boolean> -      <!-- Special case. Not mapped to a setting. --> +      <key>map-to</key> +      <string>CmdLineLoginLocation</string>      </map>      <key>usersessionsettings</key> diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index a39b447cca..8a50ca146b 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1795,6 +1795,17 @@          <string />        </array>      </map> +    <key>CmdLineLoginLocation</key> +    <map> +      <key>Comment</key> +      <string>Startup destination requested on command line</string> +      <key>Persist</key> +      <integer>0</integer> +      <key>Type</key> +      <string>String</string> +      <key>Value</key> +      <string/> +    </map>      <key>ConnectAsGod</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 613a23630f..3116dd4b00 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2597,20 +2597,16 @@ bool LLAppViewer::initConfiguration()      // What can happen is that someone can use IE (or potentially       // other browsers) and do the rough equivalent of command       // injection and steal passwords. Phoenix. SL-55321 -    if(clp.hasOption("url")) -    { -		LLStartUp::setStartSLURL(LLSLURL(clp.getOption("url")[0])); -		if(LLStartUp::getStartSLURL().getType() == LLSLURL::LOCATION)  -		{   -			LLGridManager::getInstance()->setGridChoice(LLStartUp::getStartSLURL().getGrid()); -			 -		}   -    } -    else if(clp.hasOption("slurl")) -    { -		LLSLURL start_slurl(clp.getOption("slurl")[0]); +	std::string CmdLineLoginLocation(gSavedSettings.getString("CmdLineLoginLocation")); +	if(! CmdLineLoginLocation.empty()) +	{ +		LLSLURL start_slurl(CmdLineLoginLocation);  		LLStartUp::setStartSLURL(start_slurl); -    } +		if(start_slurl.getType() == LLSLURL::LOCATION)  +		{   +			LLGridManager::getInstance()->setGridChoice(start_slurl.getGrid()); +		} +	}  	const LLControlVariable* skinfolder = gSavedSettings.getControl("SkinCurrent");  	if(skinfolder && LLStringUtil::null != skinfolder->getValue().asString()) @@ -2753,9 +2749,8 @@ bool LLAppViewer::initConfiguration()  		LL_DEBUGS("AppInit")<<"set start from NextLoginLocation: "<<nextLoginLocation<<LL_ENDL;  		LLStartUp::setStartSLURL(LLSLURL(nextLoginLocation));  	} -	else if (   (   clp.hasOption("login") || clp.hasOption("autologin")) -			 && !clp.hasOption("url") -			 && !clp.hasOption("slurl")) +	else if ((clp.hasOption("login") || clp.hasOption("autologin")) +			 && gSavedSettings.getString("CmdLineLoginLocation").empty())  	{  		// If automatic login from command line with --login switch  		// init StartSLURL location. | 
