diff options
-rwxr-xr-x | indra/newview/llfloatermodelpreview.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 489a1e4434..eb48955a64 100755 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -603,6 +603,8 @@ void LLFloaterModelPreview::onImportScaleCommit(LLUICtrl*,void* userdata) return; } + fp->mModelPreview->mDirty = true; + fp->toggleCalculateButton(true); fp->mModelPreview->refresh(); @@ -617,6 +619,8 @@ void LLFloaterModelPreview::onPelvisOffsetCommit( LLUICtrl*, void* userdata ) return; } + fp->mModelPreview->mDirty = true; + fp->toggleCalculateButton(true); fp->mModelPreview->refresh(); @@ -5458,8 +5462,24 @@ void LLFloaterModelPreview::toggleCalculateButton() void LLFloaterModelPreview::toggleCalculateButton(bool visible) { mCalculateBtn->setVisible(visible); + + bool uploadingSkin = childGetValue("upload_skin").asBoolean(); + bool uploadingJointPositions = childGetValue("upload_joints").asBoolean(); + if ( uploadingSkin ) + { + //Disable the calculate button *if* the rig is invalid - which is determined during the critiquing process + if ( uploadingJointPositions && !mModelPreview->isRigValidForJointPositionUpload() ) + { + mCalculateBtn->setVisible( false ); + } + else + if ( !mModelPreview->isLegacyRigValid() ) + { + mCalculateBtn->setVisible( false ); + } + } + mUploadBtn->setVisible(!visible); - //mUploadBtn->setEnabled(mHasUploadPerm); mUploadBtn->setEnabled(mHasUploadPerm && !mUploadModelUrl.empty()); if (visible) |