#4008 Fix media scale adjustments with pbr applied

meow-7.2.2
Andrey Kleshchev 2025-05-06 23:05:27 +03:00 committed by Andrey Kleshchev
parent 9180a110bd
commit b084d842c9
1 changed files with 7 additions and 6 deletions

View File

@ -1099,6 +1099,7 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
}
mRadioPbrType->setEnabled(editable);
const bool pbr_selected = mComboMatMedia->getCurrentIndex() == MATMEDIA_PBR;
const bool media_selected = mComboMatMedia->getCurrentIndex() == MATMEDIA_MEDIA;
const bool texture_info_selected = pbr_selected && mRadioPbrType->getSelectedIndex() != PBRTYPE_RENDER_MATERIAL_ID;
mCheckSyncSettings->setEnabled(editable);
@ -1402,7 +1403,7 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
mShinyScaleU->setValue(spec_scale_s);
mBumpyScaleU->setValue(norm_scale_s);
mTexScaleU->setEnabled(editable && has_material);
mTexScaleU->setEnabled(editable && (has_material || media_selected));
mShinyScaleU->setEnabled(editable && has_material && specmap_id.notNull());
mBumpyScaleU->setEnabled(editable && has_material && normmap_id.notNull());
@ -1441,7 +1442,7 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
bool norm_scale_tentative = !identical_norm_scale_t;
bool spec_scale_tentative = !identical_spec_scale_t;
mTexScaleV->setEnabled(editable && has_material);
mTexScaleV->setEnabled(editable && (has_material || media_selected));
mShinyScaleV->setEnabled(editable && has_material && specmap_id.notNull());
mBumpyScaleV->setEnabled(editable && has_material && normmap_id.notNull());
@ -1487,7 +1488,7 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
mShinyOffsetU->setTentative(LLSD(spec_offset_u_tentative));
mBumpyOffsetU->setTentative(LLSD(norm_offset_u_tentative));
mTexOffsetU->setEnabled(editable && has_material);
mTexOffsetU->setEnabled(editable && (has_material || media_selected));
mShinyOffsetU->setEnabled(editable && has_material && specmap_id.notNull());
mBumpyOffsetU->setEnabled(editable && has_material && normmap_id.notNull());
}
@ -1517,7 +1518,7 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
mBumpyOffsetV->setTentative(LLSD(norm_offset_v_tentative));
mShinyOffsetV->setTentative(LLSD(spec_offset_v_tentative));
mTexOffsetV->setEnabled(editable && has_material);
mTexOffsetV->setEnabled(editable && (has_material || media_selected));
mShinyOffsetV->setEnabled(editable && has_material && specmap_id.notNull());
mBumpyOffsetV->setEnabled(editable && has_material && normmap_id.notNull());
}
@ -1544,7 +1545,7 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
F32 norm_rot_deg = norm_rotation * RAD_TO_DEG;
F32 spec_rot_deg = spec_rotation * RAD_TO_DEG;
mTexRotate->setEnabled(editable && has_material);
mTexRotate->setEnabled(editable && (has_material || media_selected));
mShinyRotate->setEnabled(editable && has_material && specmap_id.notNull());
mBumpyRotate->setEnabled(editable && has_material && normmap_id.notNull());
@ -1661,7 +1662,7 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
mTexRepeat->setValue(editable ? repeats : 1.0f);
}
mTexRepeat->setTentative(LLSD(repeats_tentative));
mTexRepeat->setEnabled(has_material && !identical_planar_texgen && enabled);
mTexRepeat->setEnabled(!identical_planar_texgen && enabled && (has_material || media_selected));
}
}