From 3c8ff04c0fa5c891a0454d7542f78f65eb5032dc Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Wed, 21 Jun 2017 15:25:50 +0100 Subject: [PATCH] SL-722 - animated object checkbox is based on state of root prim. Enabled only when root prim or whole linkset is being edited. --- indra/newview/llpanelvolume.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/indra/newview/llpanelvolume.cpp b/indra/newview/llpanelvolume.cpp index f34194db19d..5e87c174d6a 100644 --- a/indra/newview/llpanelvolume.cpp +++ b/indra/newview/llpanelvolume.cpp @@ -238,6 +238,11 @@ void LLPanelVolume::getState( ) { volobjp = (LLVOVolume *)objectp; } + LLVOVolume *root_volobjp = NULL; + if (root_objectp && (root_objectp->getPCode() == LL_PCODE_VOLUME)) + { + root_volobjp = (LLVOVolume *)root_objectp; + } if( !objectp ) { @@ -350,13 +355,17 @@ void LLPanelVolume::getState( ) } // Animated Mesh - BOOL is_animated_mesh = volobjp && volobjp->getExtendedMeshFlags() & LLExtendedMeshParams::ANIMATED_MESH_ENABLED_FLAG; + BOOL is_animated_mesh = root_volobjp && root_volobjp->isAnimatedObject(); getChild<LLUICtrl>("Animated Mesh Checkbox Ctrl")->setValue(is_animated_mesh); // AXON FIXME CHECK FOR SKIN INFO ALSO // WHAT ABOUT isPermanentEnforced? // What about linksets with some skinned objects? - BOOL can_be_animated_object = volobjp && volobjp->canBeAnimatedObject() && editable; - getChildView("Animated Mesh Checkbox Ctrl")->setEnabled(can_be_animated_object); + BOOL enabled_animated_object_box = FALSE; + if (root_volobjp && root_volobjp == volobjp) + { + enabled_animated_object_box = root_volobjp && root_volobjp->canBeAnimatedObject() && editable; + } + getChildView("Animated Mesh Checkbox Ctrl")->setEnabled(enabled_animated_object_box); // Flexible properties BOOL is_flexible = volobjp && volobjp->isFlexible(); -- GitLab