summaryrefslogtreecommitdiff
path: root/indra/newview/rlvhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/rlvhandler.cpp')
-rw-r--r--indra/newview/rlvhandler.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp
index 6c4b439105..52448d8495 100644
--- a/indra/newview/rlvhandler.cpp
+++ b/indra/newview/rlvhandler.cpp
@@ -30,6 +30,7 @@
#include "llstartup.h"
#include "llviewercontrol.h"
#include "llviewerobject.h"
+#include "llviewermenu.h"
#include "rlvcommon.h"
#include "rlvhandler.h"
@@ -109,6 +110,7 @@ ECmdRet RlvHandler::processCommand(std::reference_wrapper<const RlvCommand> rlvC
switch (rlvCmd.get().getParamType())
{
case EParamType::Reply:
+ case EParamType::Force:
eRet = rlvCmd.get().processCommand();
break;
case EParamType::Unknown:
@@ -222,4 +224,18 @@ ECmdRet ReplyHandler<EBehaviour::VersionNum>::onCommand(const RlvCommand& rlvCmd
return ECmdRet::Succeeded;
}
+// Force
+
+ECmdRet CommandHandlerBaseImpl<EParamType::Force>::processCommand(const RlvCommand& rlvCmd, ForceHandlerFunc* pHandler)
+{
+ return (*pHandler)(rlvCmd);
+}
+
+template<> template<>
+ECmdRet ForceHandler<EBehaviour::Sit>::onCommand(const RlvCommand& rlvCmd)
+{
+ handle_object_sit(LLUUID{rlvCmd.getOption()});
+ return ECmdRet::Succeeded;
+}
+
// ============================================================================