diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 36279ab1f..efd048c4c 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9,6 +9,17 @@ settings_rlv.xml + SGAllowRiggedMeshSelection + + Comment + Allow selection of your worn rigged meshes in build mode + Persist + 1 + Type + Boolean + Value + 0 + SGShiftCrouchToggle Comment @@ -20,7 +31,6 @@ Value 1 - SGServerVersionChangedNotification Comment diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index c2f4d51e0..4b27f6a2a 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -2099,7 +2099,9 @@ LLViewerObject* LLVOAvatar::lineSegmentIntersectRiggedAttachments(const LLVector LLVector3* normal, LLVector3* bi_normal) { - if (isSelf() && !gAgent.needsRenderAvatar()) + static const LLCachedControl allow_mesh_picking("SGAllowRiggedMeshSelection"); + + if (!allow_mesh_picking || (isSelf() && !gAgent.needsRenderAvatar())) { return NULL; } diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 4d4c4e7bd..1e1ca8bad 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -2831,10 +2831,11 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector3& start, const LLVector3& e if (mDrawable->isState(LLDrawable::RIGGED)) { - if (gFloaterTools->getVisible() && getAvatar()->isSelf()) + static const LLCachedControl allow_mesh_picking("SGAllowRiggedMeshSelection"); + if (allow_mesh_picking && gFloaterTools->getVisible() && getAvatar()->isSelf()) { updateRiggedVolume(); - genBBoxes(FALSE); + //genBBoxes(FALSE); volume = mRiggedVolume; transform = false; }