summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewerlistener.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llappviewerlistener.cpp')
-rw-r--r--indra/newview/llappviewerlistener.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llappviewerlistener.cpp b/indra/newview/llappviewerlistener.cpp
index a8c98b17a7..befebae88e 100644
--- a/indra/newview/llappviewerlistener.cpp
+++ b/indra/newview/llappviewerlistener.cpp
@@ -18,6 +18,7 @@
// external library headers
// other Linden headers
#include "llappviewer.h"
+#include "llviewercontrol.h"
LLAppViewerListener::LLAppViewerListener(const std::string& pumpname, LLAppViewer* llappviewer):
LLDispatchListener(pumpname, "op"),
@@ -25,9 +26,21 @@ LLAppViewerListener::LLAppViewerListener(const std::string& pumpname, LLAppViewe
{
// add() every method we want to be able to invoke via this event API.
add("requestQuit", &LLAppViewerListener::requestQuit);
+ add("setSetting", &LLAppViewerListener::setSetting);
}
void LLAppViewerListener::requestQuit(const LLSD& event) const
{
mAppViewer->requestQuit();
}
+
+void LLAppViewerListener::setSetting(const LLSD & event) const
+{
+ std::string control_name = event["name"].asString();
+ if (gSavedSettings.controlExists(control_name))
+ {
+ LLControlVariable* control = gSavedSettings.getControl(control_name);
+
+ control->set(event["value"]);
+ }
+}