summaryrefslogtreecommitdiff
path: root/indra/newview/llstartup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llstartup.cpp')
-rw-r--r--indra/newview/llstartup.cpp28
1 files changed, 23 insertions, 5 deletions
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 5f96fc7da0..bd2e157779 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -1361,14 +1361,32 @@ bool idle_startup()
LLStartUp::deletePasswordFromDisk();
}
- text = LLUserAuth::getInstance()->getResponse("agent_access");
- if(!text.empty() && (text[0] == 'M'))
+ // this is their actual ability to access content
+ text = LLUserAuth::getInstance()->getResponse("agent_access_max");
+ if (!text.empty())
{
- gAgent.setTeen(false);
+ // agent_access can be 'A', 'M', and 'PG'.
+ gAgent.setMaturity(text[0]);
}
- else
+
+ // this is the value of their preference setting for that content
+ // which will always be <= agent_access_max
+ text = LLUserAuth::getInstance()->getResponse("agent_region_access");
+ if (!text.empty())
+ {
+ int preferredMaturity = LLAgent::convertTextToMaturity(text[0]);
+ gSavedSettings.setU32("PreferredMaturity", preferredMaturity);
+ }
+ // During the AO transition, this flag will be true. Then the flag will
+ // go away. After the AO transition, this code and all the code that
+ // uses it can be deleted.
+ text = LLUserAuth::getInstance()->getResponse("ao_transition");
+ if (!text.empty())
{
- gAgent.setTeen(true);
+ if (text == "1")
+ {
+ gAgent.setAOTransition();
+ }
}
text = LLUserAuth::getInstance()->getResponse("start_location");