[Bf-blender-cvs] [0085001] master: Fix memory leak when Blender is build without Bullet and files with RB is opened

Sergey Sharybin noreply at git.blender.org
Tue Nov 8 11:54:28 CET 2016


Commit: 0085001eb0e375108b3a3b35197fe4788272c136
Author: Sergey Sharybin
Date:   Tue Nov 8 11:54:04 2016 +0100
Branches: master
https://developer.blender.org/rB0085001eb0e375108b3a3b35197fe4788272c136

Fix memory leak when Blender is build without Bullet and files with RB is opened

===================================================================

M	source/blender/blenkernel/intern/rigidbody.c

===================================================================

diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c
index f8e9622..ebf9f01 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -65,13 +65,22 @@
 #include "BKE_rigidbody.h"
 #include "BKE_scene.h"
 
-#ifdef WITH_BULLET
-
 /* ************************************** */
 /* Memory Management */
 
 /* Freeing Methods --------------------- */
 
+#ifndef WITH_BULLET
+
+static void RB_dworld_remove_constraint(void *UNUSED(world), void *UNUSED(con)) {}
+static void RB_dworld_remove_body(void *UNUSED(world), void *UNUSED(body)) {}
+static void RB_dworld_delete(void *UNUSED(world)) {}
+static void RB_body_delete(void *UNUSED(body)) {}
+static void RB_shape_delete(void *UNUSED(shape)) {}
+static void RB_constraint_delete(void *UNUSED(con)) {}
+
+#endif
+
 /* Free rigidbody world */
 void BKE_rigidbody_free_world(RigidBodyWorld *rbw)
 {
@@ -165,6 +174,8 @@ void BKE_rigidbody_free_constraint(Object *ob)
 	ob->rigidbody_constraint = NULL;
 }
 
+#ifdef WITH_BULLET
+
 /* Copying Methods --------------------- */
 
 /* These just copy the data, clearing out references to physics objects.
@@ -1620,9 +1631,6 @@ void BKE_rigidbody_do_simulation(Scene *scene, float ctime)
 #  pragma GCC diagnostic ignored "-Wunused-parameter"
 #endif
 
-void BKE_rigidbody_free_world(RigidBodyWorld *rbw) {}
-void BKE_rigidbody_free_object(Object *ob) {}
-void BKE_rigidbody_free_constraint(Object *ob) {}
 struct RigidBodyOb *BKE_rigidbody_copy_object(Object *ob) { return NULL; }
 struct RigidBodyCon *BKE_rigidbody_copy_constraint(Object *ob) { return NULL; }
 void BKE_rigidbody_relink_constraint(RigidBodyCon *rbc) {}




More information about the Bf-blender-cvs mailing list