From 120e06bb85e407688a0f651007c8152da3d9ff89 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Fri, 26 Aug 2016 14:04:42 +0200 Subject: [PATCH] Make sure we stand up when derendering an object we are sitting on --- indra/newview/llviewermenu.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 0a2bfca79e..faf878739e 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2883,6 +2883,26 @@ void derenderObject(bool permanent) } else { + LLViewerObject::child_list_t object_children = objp->getChildren(); + for (LLViewerObject::child_list_t::const_iterator it = object_children.begin(); it != object_children.end(); it++) + { + LLViewerObject* child = *it; + if (child->isAvatar() && child->asAvatar()->isSelf()) + { + if (gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) + { + // RLVa: Prevent cheating out of sitting by derendering the object + select_mgr->deselectObjectOnly(objp); + return; + } + else + { + gAgent.standUp(); + break; + } + } + } + LLSelectNode* nodep = select_mgr->getSelection()->getFirstRootNode(); if (nodep) {