summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterperms.cpp
diff options
context:
space:
mode:
authorJonathan Yap <none@none>2013-11-11 13:21:12 -0500
committerJonathan Yap <none@none>2013-11-11 13:21:12 -0500
commit56b1b35a18c21f6dad4147df35ba4594f31b67e3 (patch)
tree76782fe8d40225bf9a31a631f6471c18091b4220 /indra/newview/llfloaterperms.cpp
parente988fffbca2199156ed656a091409394246f929d (diff)
STORM-68 Send default permissions to simulator just once after logging in
Diffstat (limited to 'indra/newview/llfloaterperms.cpp')
-rw-r--r--indra/newview/llfloaterperms.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/indra/newview/llfloaterperms.cpp b/indra/newview/llfloaterperms.cpp
index c167c03c30..f5a9bc7bb5 100644
--- a/indra/newview/llfloaterperms.cpp
+++ b/indra/newview/llfloaterperms.cpp
@@ -97,6 +97,8 @@ U32 LLFloaterPerms::getNextOwnerPermsInverted(std::string prefix)
return flags;
}
+static bool mCapSent = false;
+
LLFloaterPermsDefault::LLFloaterPermsDefault(const LLSD& seed)
: LLFloater(seed)
{
@@ -160,12 +162,18 @@ public:
}
void result(const LLSD& content)
{
- LL_INFOS("FloaterPermsResponder") << "Set new values" << LL_ENDL;
+ LLFloaterPermsDefault::setCapSent(true);
+ LL_INFOS("FloaterPermsResponder") << "Sent default permissions to simulator" << LL_ENDL;
}
};
-void LLFloaterPermsDefault::updateCap()
+void LLFloaterPermsDefault::updateCap(bool alwaysUpdate)
{
+ if(!alwaysUpdate && mCapSent)
+ {
+ return;
+ }
+
std::string object_url = gAgent.getRegion()->getCapability("DefaultObjectPermissions");
if(!object_url.empty())
@@ -178,6 +186,11 @@ void LLFloaterPermsDefault::updateCap()
}
}
+void LLFloaterPermsDefault::setCapSent(bool cap_sent)
+{
+ mCapSent = cap_sent;
+}
+
void LLFloaterPermsDefault::ok()
{
// Changes were already applied automatically to saved settings.
@@ -186,7 +199,7 @@ void LLFloaterPermsDefault::ok()
// We know some setting has changed but not which one. Just in case it was a setting for
// object permissions tell the server what the values are.
- updateCap();
+ updateCap(true);
}
void LLFloaterPermsDefault::cancel()