code cleanup: function naming, use BKE_*type* prefix.
[blender.git] / source / gameengine / Converter / BL_ShapeDeformer.cpp
index f4c683f60ba4322d08b3a234a307fd7243722cd2..b93d731c5e6bfcdac49011a5a9ffa80b62886df6 100644 (file)
@@ -1,6 +1,4 @@
 /*
 /*
- * $Id$
- *
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -52,6 +50,8 @@
 #include "DNA_meshdata_types.h"
 #include "BKE_armature.h"
 #include "BKE_action.h"
 #include "DNA_meshdata_types.h"
 #include "BKE_armature.h"
 #include "BKE_action.h"
+#include "BKE_global.h"
+#include "BKE_main.h"
 #include "BKE_key.h"
 #include "BKE_ipo.h"
 #include "MT_Point3.h"
 #include "BKE_key.h"
 #include "BKE_ipo.h"
 #include "MT_Point3.h"
@@ -77,7 +77,7 @@ BL_ShapeDeformer::BL_ShapeDeformer(BL_DeformableGameObject *gameobj,
       m_lastShapeUpdate(-1)
 {
        m_key = m_bmesh->key;
       m_lastShapeUpdate(-1)
 {
        m_key = m_bmesh->key;
-       m_bmesh->key = copy_key(m_key);
+       m_bmesh->key = BKE_key_copy(m_key);
 };
 
 /* this second constructor is needed for making a mesh deformable on the fly. */
 };
 
 /* this second constructor is needed for making a mesh deformable on the fly. */
@@ -94,15 +94,18 @@ BL_ShapeDeformer::BL_ShapeDeformer(BL_DeformableGameObject *gameobj,
                                        m_lastShapeUpdate(-1)
 {
        m_key = m_bmesh->key;
                                        m_lastShapeUpdate(-1)
 {
        m_key = m_bmesh->key;
-       m_bmesh->key = copy_key(m_key);
+       m_bmesh->key = BKE_key_copy(m_key);
 };
 
 BL_ShapeDeformer::~BL_ShapeDeformer()
 {
 };
 
 BL_ShapeDeformer::~BL_ShapeDeformer()
 {
-       if (m_key && m_bmesh->key)
+       if (m_key && m_bmesh->key && m_key != m_bmesh->key)
        {
        {
-               free_key(m_bmesh->key);
+               BKE_key_free(m_bmesh->key);
+               BLI_remlink_safe(&G.main->key, m_bmesh->key);
+               MEM_freeN(m_bmesh->key);
                m_bmesh->key = m_key;
                m_bmesh->key = m_key;
+               m_key = NULL;
        }
 };
 
        }
 };