diff options
author | Josh Bell <josh@lindenlab.com> | 2007-08-28 21:19:20 +0000 |
---|---|---|
committer | Josh Bell <josh@lindenlab.com> | 2007-08-28 21:19:20 +0000 |
commit | 6d2c503f6132ed9cdb43f5e0e4e977eff31618a4 (patch) | |
tree | afc1c311c779cef55b0950ebf07f56721373d597 /indra/llcharacter | |
parent | ce0a5fe14590b8d675b885fccd5f79d7ea17a302 (diff) |
svn merge -r 68474:68690 svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-18-3-Viewer --> release
Sync up fixes, version numbers, and release notes applied to the viewer RC branch.
Diffstat (limited to 'indra/llcharacter')
-rw-r--r-- | indra/llcharacter/llkeyframemotion.cpp | 5 | ||||
-rw-r--r-- | indra/llcharacter/llkeyframemotion.h | 13 |
2 files changed, 9 insertions, 9 deletions
diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp index d8a4acecc1..304de4c6d1 100644 --- a/indra/llcharacter/llkeyframemotion.cpp +++ b/indra/llcharacter/llkeyframemotion.cpp @@ -1838,7 +1838,8 @@ void LLKeyframeMotion::setEaseOut(F32 ease_in) //----------------------------------------------------------------------------- void LLKeyframeMotion::flushKeyframeCache() { - LLKeyframeDataCache::clear(); + // TODO: Make this safe to do +// LLKeyframeDataCache::clear(); } //----------------------------------------------------------------------------- @@ -2092,6 +2093,7 @@ void LLKeyframeDataCache::removeKeyframeData(const LLUUID& id) keyframe_data_map_t::iterator found_data = sKeyframeDataMap.find(id); if (found_data != sKeyframeDataMap.end()) { + delete found_data->second; sKeyframeDataMap.erase(found_data); } } @@ -2122,6 +2124,7 @@ LLKeyframeDataCache::~LLKeyframeDataCache() //----------------------------------------------------------------------------- void LLKeyframeDataCache::clear() { + for_each(sKeyframeDataMap.begin(), sKeyframeDataMap.end(), DeletePairedPointer()); sKeyframeDataMap.clear(); } diff --git a/indra/llcharacter/llkeyframemotion.h b/indra/llcharacter/llkeyframemotion.h index 5a03f7549a..54cf2fefcd 100644 --- a/indra/llcharacter/llkeyframemotion.h +++ b/indra/llcharacter/llkeyframemotion.h @@ -20,7 +20,6 @@ #include "llhandmotion.h" #include "lljointstate.h" #include "llmotion.h" -#include "llmemory.h" #include "llptrskipmap.h" #include "llquaternion.h" #include "v3dmath.h" @@ -132,7 +131,7 @@ public: BOOL serialize(LLDataPacker& dp) const; BOOL deserialize(LLDataPacker& dp); void writeCAL3D(apr_file_t* fp); - BOOL isLoaded() { return mJointMotionList.notNull(); } + BOOL isLoaded() { return mJointMotionList != NULL; } // setters for modifying a keyframe animation @@ -372,11 +371,8 @@ public: //------------------------------------------------------------------------- // JointMotionList //------------------------------------------------------------------------- - class JointMotionList : public LLRefCount + class JointMotionList { - protected: - ~JointMotionList(); - public: U32 mNumJointMotions; JointMotion* mJointMotionArray; @@ -394,6 +390,7 @@ public: LLBBoxLocal mPelvisBBox; public: JointMotionList(); + ~JointMotionList(); U32 dumpDiagInfo(); }; @@ -404,7 +401,7 @@ protected: //------------------------------------------------------------------------- // Member Data //------------------------------------------------------------------------- - LLPointer<JointMotionList> mJointMotionList; + JointMotionList* mJointMotionList; LLJointState* mJointStates; LLJoint* mPelvisp; LLCharacter* mCharacter; @@ -424,7 +421,7 @@ public: LLKeyframeDataCache(){}; ~LLKeyframeDataCache(); - typedef std::map<LLUUID, LLPointer<class LLKeyframeMotion::JointMotionList> > keyframe_data_map_t; + typedef std::map<LLUUID, class LLKeyframeMotion::JointMotionList*> keyframe_data_map_t; static keyframe_data_map_t sKeyframeDataMap; static void addKeyframeData(const LLUUID& id, LLKeyframeMotion::JointMotionList*); |