summaryrefslogtreecommitdiff
path: root/indra/newview/llpolymorph.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2011-04-13 12:03:53 -0400
committerOz Linden <oz@lindenlab.com>2011-04-13 12:03:53 -0400
commit6bdfc3d0482b3bbfb55abdb71220ea19391fbe14 (patch)
treee0557f36fe0f02e0fdeb2952d2477c01a7498a63 /indra/newview/llpolymorph.cpp
parent19f356202a9516664c1cacb9b50e9b6e1e072375 (diff)
parentc77fcfb7a8aeb2f271b050171bf0d6a9bd4c955b (diff)
merge out changes up to but not including the STORM-610 change
Diffstat (limited to 'indra/newview/llpolymorph.cpp')
-rw-r--r--indra/newview/llpolymorph.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llpolymorph.cpp b/indra/newview/llpolymorph.cpp
index 5a67fd482a..36f8c8d13e 100644
--- a/indra/newview/llpolymorph.cpp
+++ b/indra/newview/llpolymorph.cpp
@@ -490,6 +490,16 @@ void LLPolyMorphTarget::apply( ESex avatar_sex )
mLastSex = avatar_sex;
+ // Check for NaN condition (NaN is detected if a variable doesn't equal itself.
+ if (mCurWeight != mCurWeight)
+ {
+ mCurWeight = 0.0;
+ }
+ if (mLastWeight != mLastWeight)
+ {
+ mLastWeight = mCurWeight+.001;
+ }
+
// perform differential update of morph
F32 delta_weight = ( getSex() & avatar_sex ) ? (mCurWeight - mLastWeight) : (getDefaultWeight() - mLastWeight);
// store last weight