CHOP-959: Introduce and use settings vars for some cmd_line switches.

The cmd_line.xml entries:
analyzeperformance
crashonstartup
debugsession
disablecrashlogger
logmetrics
logperformance
noquicktime
replaysession
all specify map-to settings.xml variables -- none of which existed! Introduce
such variables. Instead of detecting the presence of a particular switch in
the command-line parser, use the value of its corresponding settings variable.
meow-7.2.2
Nat Goodspeed 2013-07-01 16:19:24 -04:00
parent c08b60ac6f
commit 3d9c74dcc8
2 changed files with 103 additions and 37 deletions

View File

@ -126,6 +126,17 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>AnalyzePerformance</key>
<map>
<key>Comment</key>
<string>Request performance analysis for a particular viewer run</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>AnimateTextures</key>
<map>
<key>Comment</key>
@ -1916,6 +1927,17 @@
<key>Value</key>
<integer>262144</integer>
</map>
<key>CrashOnStartup</key>
<map>
<key>Comment</key>
<string>User-requested crash on viewer startup</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>CreateToolCopyCenters</key>
<map>
<key>Comment</key>
@ -2158,6 +2180,17 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>DebugSession</key>
<map>
<key>Comment</key>
<string>Request debugging for a particular viewer session</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>DebugShowColor</key>
<map>
<key>Comment</key>
@ -2972,6 +3005,17 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>DisableCrashLogger</key>
<map>
<key>Comment</key>
<string>Do not send crash report to Linden server</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>DisableMouseWarp</key>
<map>
<key>Comment</key>
@ -5217,6 +5261,28 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>LogMetrics</key>
<map>
<key>Comment</key>
<string>Log viewer metrics</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string/>
</map>
<key>LogPerformance</key>
<map>
<key>Comment</key>
<string>Log performance analysis for a particular viewer run</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>LogTextureNetworkTraffic</key>
<map>
<key>Comment</key>
@ -6394,6 +6460,17 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>NoQuickTime</key>
<map>
<key>Comment</key>
<string>Disable QuickTime for a particular viewer run</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>NoVerifySSLCert</key>
<map>
<key>Comment</key>
@ -9643,6 +9720,17 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>ReplaySession</key>
<map>
<key>Comment</key>
<string>Request replay of previously-recorded pilot file</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>RotateRight</key>
<map>
<key>Comment</key>

View File

@ -2463,7 +2463,7 @@ bool LLAppViewer::initConfiguration()
// Register the core crash option as soon as we can
// if we want gdb post-mortem on cores we need to be up and running
// ASAP or we might miss init issue etc.
if(clp.hasOption("disablecrashlogger"))
if(gSavedSettings.getBOOL("DisableCrashLogger"))
{
llwarns << "Crashes will be handled by system, stack trace logs and crash logger are both disabled" << llendl;
LLAppViewer::instance()->disableCrashlogger();
@ -2542,59 +2542,37 @@ bool LLAppViewer::initConfiguration()
}
// If we have specified crash on startup, set the global so we'll trigger the crash at the right time
if(clp.hasOption("crashonstartup"))
{
gCrashOnStartup = TRUE;
}
gCrashOnStartup = gSavedSettings.getBOOL("CrashOnStartup");
if (clp.hasOption("logperformance"))
if (gSavedSettings.getBOOL("LogPerformance"))
{
LLFastTimer::sLog = TRUE;
LLFastTimer::sLogName = std::string("performance");
}
if (clp.hasOption("logmetrics"))
{
LLFastTimer::sMetricLog = TRUE ;
// '--logmetrics' can be specified with a named test metric argument so the data gathering is done only on that test
// In the absence of argument, every metric is gathered (makes for a rather slow run and hard to decipher report...)
std::string test_name = clp.getOption("logmetrics")[0];
std::string test_name(gSavedSettings.getString("LogMetrics"));
if (! test_name.empty())
{
LLFastTimer::sMetricLog = TRUE ;
// '--logmetrics' is specified with a named test metric argument so the data gathering is done only on that test
// In the absence of argument, every metric would be gathered (makes for a rather slow run and hard to decipher report...)
llinfos << "'--logmetrics' argument : " << test_name << llendl;
if (test_name == "")
{
llwarns << "No '--logmetrics' argument given, will output all metrics to " << DEFAULT_METRIC_NAME << llendl;
LLFastTimer::sLogName = DEFAULT_METRIC_NAME;
}
else
{
LLFastTimer::sLogName = test_name;
}
LLFastTimer::sLogName = test_name;
}
if (clp.hasOption("graphicslevel"))
{
// User explicitly requested --graphicslevel on the command line.
// We expect this switch has already set RenderQualityPerformance.
// Check that value for validity; if valid, we'll engage it later.
mForceGraphicsDetail =
LLFeatureManager::instance().isValidGraphicsLevel(gSavedSettings.getU32("RenderQualityPerformance"));
}
if (clp.hasOption("analyzeperformance"))
{
LLFastTimerView::sAnalyzePerformance = TRUE;
}
LLFastTimerView::sAnalyzePerformance = gSavedSettings.getBOOL("AnalyzePerformance");
gAgentPilot.setReplaySession(gSavedSettings.getBOOL("ReplaySession"));
if (clp.hasOption("replaysession"))
{
gAgentPilot.setReplaySession(TRUE);
}
if (clp.hasOption("nonotifications"))
{
gSavedSettings.getControl("IgnoreAllNotifications")->setValue(true, false);
}
if (clp.hasOption("debugsession"))
if (gSavedSettings.getBOOL("DebugSession"))
{
gDebugSession = TRUE;
gDebugGL = TRUE;