summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStinson Linden <stinson@lindenlab.com>2014-05-12 21:34:30 +0100
committerStinson Linden <stinson@lindenlab.com>2014-05-12 21:34:30 +0100
commit35fe7aaedd5657898e152676f7744c14f7afa937 (patch)
tree2c19e150c006e6ae83467fe0edbecfcf47e0b040
parent8e7912f3821b3e20b528239b7ebfe0c6a9bffc71 (diff)
MAINT-4009: Patching a leak of keyframed motions that had been deprecated but were never properly destroyed.
-rwxr-xr-xindra/llcharacter/llmotioncontroller.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp
index 50ccfd75fb..e02b139608 100755
--- a/indra/llcharacter/llmotioncontroller.cpp
+++ b/indra/llcharacter/llmotioncontroller.cpp
@@ -172,6 +172,13 @@ void LLMotionController::deleteAllMotions()
for_each(mAllMotions.begin(), mAllMotions.end(), DeletePairedPointer());
mAllMotions.clear();
+
+ // stinson 05/12/20014 : Ownership of the LLMotion pointers is transferred from
+ // mAllMotions to mDeprecatedMotions in method
+ // LLMotionController::deprecateMotionInstance(). Thus, we should also clean
+ // up the mDeprecatedMotions list as well.
+ for_each(mDeprecatedMotions.begin(), mDeprecatedMotions.end(), DeletePointer());
+ mDeprecatedMotions.clear();
}
//-----------------------------------------------------------------------------