From 45ab1429b2e6feae6ac8cd5ee59feacccd86f7b7 Mon Sep 17 00:00:00 2001
From: "Brad Payne (Vir Linden)" <vir@lindenlab.com>
Date: Wed, 19 Oct 2016 11:05:02 -0400
Subject: [PATCH] SL-395 - believed fix for intermittent problem uploading
 meshes with scale locks

---
 indra/llprimitive/llmodel.cpp | 12 +++++++++---
 indra/llprimitive/llmodel.h   |  2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp
index 7677dc9e27f..c98cee218c8 100644
--- a/indra/llprimitive/llmodel.cpp
+++ b/indra/llprimitive/llmodel.cpp
@@ -1343,7 +1343,6 @@ bool LLModel::matchMaterialOrder(LLModel* ref, int& refFaceCnt, int& modelFaceCn
 	return true;
 }
 
-
 bool LLModel::loadSkinInfo(LLSD& header, std::istream &is)
 {
 	S32 offset = header["skin"]["offset"].asInteger();
@@ -1386,8 +1385,15 @@ bool LLModel::loadDecomposition(LLSD& header, std::istream& is)
 	return true;
 }
 
+LLMeshSkinInfo::LLMeshSkinInfo():
+    mPelvisOffset(0.0),
+    mLockScaleIfJointPosition(false)
+{
+}
 
-LLMeshSkinInfo::LLMeshSkinInfo(LLSD& skin)
+LLMeshSkinInfo::LLMeshSkinInfo(LLSD& skin):
+    mPelvisOffset(0.0),
+    mLockScaleIfJointPosition(false)
 {
 	fromLLSD(skin);
 }
@@ -1503,7 +1509,7 @@ LLSD LLMeshSkinInfo::asLLSD(bool include_joints, bool lock_scale_if_joint_positi
 
         if (lock_scale_if_joint_position)
         {
-            ret["lock_scale_if_joint_position"] = mLockScaleIfJointPosition;
+            ret["lock_scale_if_joint_position"] = lock_scale_if_joint_position;
         }
 
 		ret["pelvis_offset"] = mPelvisOffset;
diff --git a/indra/llprimitive/llmodel.h b/indra/llprimitive/llmodel.h
index 365ba8a51c0..40c3916168a 100644
--- a/indra/llprimitive/llmodel.h
+++ b/indra/llprimitive/llmodel.h
@@ -42,7 +42,7 @@ class domMesh;
 class LLMeshSkinInfo 
 {
 public:
-	LLMeshSkinInfo() { }
+	LLMeshSkinInfo();
 	LLMeshSkinInfo(LLSD& data);
 	void fromLLSD(LLSD& data);
 	LLSD asLLSD(bool include_joints, bool lock_scale_if_joint_position) const;
-- 
GitLab