diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index b28681798a..3ceca8c98b 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -26220,5 +26220,16 @@ Change of this parameter will affect the layout of buttons in notification toast
Value
1
+ FSLocalMeshApplyJointOffsets
+
diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp
index 429171e6be..8979b419cd 100644
--- a/indra/newview/llpanelprofile.cpp
+++ b/indra/newview/llpanelprofile.cpp
@@ -3147,10 +3147,10 @@ void LLPanelProfileNotes::updateData()
#ifdef OPENSIM
if (LLGridManager::instance().isInOpenSim() && gAgent.getRegionCapability(PROFILE_PROPERTIES_CAP).empty())
{
- LLUUID avatar_id = getAvatarId();
- if (!getStarted() && avatar_id.notNull() && gAgent.getRegionCapability(PROFILE_PROPERTIES_CAP).empty() && !getSelfProfile())
- {
- setIsLoading();
+ LLUUID avatar_id = getAvatarId();
+ if (!getStarted() && avatar_id.notNull())
+ {
+ setIsLoading();
LLAvatarPropertiesProcessor::getInstance()->sendAvatarNotesRequest(avatar_id);
}
}
diff --git a/indra/newview/skins/default/xui/en/floater_phototools.xml b/indra/newview/skins/default/xui/en/floater_phototools.xml
index f17cb53b4e..f43f8e9eba 100644
--- a/indra/newview/skins/default/xui/en/floater_phototools.xml
+++ b/indra/newview/skins/default/xui/en/floater_phototools.xml
@@ -1032,8 +1032,6 @@
max_val="5"
top_delta="-2"
width="127">
-
-
+
diff --git a/indra/newview/vjlocalmeshimportdae.cpp b/indra/newview/vjlocalmeshimportdae.cpp
index b1ac619e27..d6f8fd40cc 100644
--- a/indra/newview/vjlocalmeshimportdae.cpp
+++ b/indra/newview/vjlocalmeshimportdae.cpp
@@ -753,34 +753,36 @@ bool LLLocalMeshImportDAE::processSkin(daeDatabase* collada_db, daeElement* coll
}
}
}
-
- int jointname_idx = 0;
- for (auto jointname_iterator = skininfop->mJointNames.begin(); jointname_iterator != skininfop->mJointNames.end(); ++jointname_iterator, ++jointname_idx)
+ static LLCachedControl apply_joint_offsets(gSavedSettings, "FSLocalMeshApplyJointOffsets");
+ if (apply_joint_offsets)
{
- std::string name_lookup = jointname_iterator->mName;
- if (joint_map.find(name_lookup) == joint_map.end())
+ int jointname_idx = 0;
+ for (auto jointname_iterator = skininfop->mJointNames.begin();
+ jointname_iterator != skininfop->mJointNames.end();
+ ++jointname_iterator, ++jointname_idx)
{
- pushLog("DAE Importer", "WARNING: Unknown joint named " + name_lookup + " found, skipping over it.");
- continue;
+ std::string name_lookup = jointname_iterator->mName;
+ if (joint_map.find(name_lookup) == joint_map.end())
+ {
+ pushLog("DAE Importer", "WARNING: Unknown joint named " + name_lookup + " found, skipping over it.");
+ continue;
+ }
+ else
+ {
+ LL_DEBUGS("LocalMesh") << "Calc invBindMat for joint name: " << name_lookup << LL_ENDL;
+ }
+ if (skininfop->mInvBindMatrix.size() <= jointname_idx)
+ {
+ pushLog("DAE Importer", "WARNING: Requesting out of bounds joint named " + name_lookup);
+ break;
+ }
+ LLMatrix4 newinverse = LLMatrix4(skininfop->mInvBindMatrix[jointname_idx].getF32ptr());
+ const auto& joint_translation = joint_transforms[name_lookup].getTranslation();
+ newinverse.setTranslation(joint_translation);
+ skininfop->mAlternateBindMatrix.push_back(LLMatrix4a(newinverse));
}
- else
- {
- LL_DEBUGS("LocalMesh") << "Calc invBindMat for joint name: " << name_lookup << LL_ENDL;
- }
-
- if (skininfop->mInvBindMatrix.size() <= jointname_idx)
- {
- // doesn't seem like a critical fail that should invalidate the entire skin, just break and move on?
- pushLog("DAE Importer", "WARNING: Requesting out of bounds joint named " + name_lookup);
- break;
- }
-
- LLMatrix4 newinverse = LLMatrix4(skininfop->mInvBindMatrix[jointname_idx].getF32ptr());
- const auto& joint_translation = joint_transforms[name_lookup].getTranslation();
- newinverse.setTranslation(joint_translation);
- skininfop->mAlternateBindMatrix.push_back( LLMatrix4a(newinverse) );
}
-
+
size_t bind_count = skininfop->mAlternateBindMatrix.size();
if ((bind_count > 0) && (bind_count != skininfop->mJointNames.size()))
{