summaryrefslogtreecommitdiff
path: root/indra/llcharacter/llkeyframemotion.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcharacter/llkeyframemotion.h')
-rw-r--r--indra/llcharacter/llkeyframemotion.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/indra/llcharacter/llkeyframemotion.h b/indra/llcharacter/llkeyframemotion.h
index 9b8c04ac92..5a03f7549a 100644
--- a/indra/llcharacter/llkeyframemotion.h
+++ b/indra/llcharacter/llkeyframemotion.h
@@ -20,6 +20,7 @@
#include "llhandmotion.h"
#include "lljointstate.h"
#include "llmotion.h"
+#include "llmemory.h"
#include "llptrskipmap.h"
#include "llquaternion.h"
#include "v3dmath.h"
@@ -124,14 +125,14 @@ public:
static void onLoadComplete(LLVFS *vfs,
const LLUUID& asset_uuid,
LLAssetType::EType type,
- void* user_data, S32 status);
+ void* user_data, S32 status, LLExtStat ext_status);
public:
U32 getFileSize();
BOOL serialize(LLDataPacker& dp) const;
BOOL deserialize(LLDataPacker& dp);
void writeCAL3D(apr_file_t* fp);
- BOOL isLoaded() { return mJointMotionList != NULL; }
+ BOOL isLoaded() { return mJointMotionList.notNull(); }
// setters for modifying a keyframe animation
@@ -371,8 +372,11 @@ public:
//-------------------------------------------------------------------------
// JointMotionList
//-------------------------------------------------------------------------
- class JointMotionList
+ class JointMotionList : public LLRefCount
{
+ protected:
+ ~JointMotionList();
+
public:
U32 mNumJointMotions;
JointMotion* mJointMotionArray;
@@ -390,7 +394,6 @@ public:
LLBBoxLocal mPelvisBBox;
public:
JointMotionList();
- ~JointMotionList();
U32 dumpDiagInfo();
};
@@ -401,7 +404,7 @@ protected:
//-------------------------------------------------------------------------
// Member Data
//-------------------------------------------------------------------------
- JointMotionList* mJointMotionList;
+ LLPointer<JointMotionList> mJointMotionList;
LLJointState* mJointStates;
LLJoint* mPelvisp;
LLCharacter* mCharacter;
@@ -421,7 +424,7 @@ public:
LLKeyframeDataCache(){};
~LLKeyframeDataCache();
- typedef std::map<LLUUID, class LLKeyframeMotion::JointMotionList*> keyframe_data_map_t;
+ typedef std::map<LLUUID, LLPointer<class LLKeyframeMotion::JointMotionList> > keyframe_data_map_t;
static keyframe_data_map_t sKeyframeDataMap;
static void addKeyframeData(const LLUUID& id, LLKeyframeMotion::JointMotionList*);
@@ -436,3 +439,4 @@ public:
#endif // LL_LLKEYFRAMEMOTION_H
+