[Bf-blender-cvs] [343c1e3] object_nodes: Fix for refcounting in the mesh value node.

Lukas Tönne noreply at git.blender.org
Wed Dec 2 12:05:59 CET 2015


Commit: 343c1e3006c9b25a90d68b4cb57bd6ececfe03d8
Author: Lukas Tönne
Date:   Wed Dec 2 12:04:29 2015 +0100
Branches: object_nodes
https://developer.blender.org/rB343c1e3006c9b25a90d68b4cb57bd6ececfe03d8

Fix for refcounting in the mesh value node.

This node was overwriting the entire stack pointer (incl. the refcount)
but should only store the DM itself.

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

M	source/blender/blenvm/bvm/bvm_eval.cc
M	source/blender/blenvm/bvm/bvm_eval.h
M	source/blender/blenvm/intern/bvm_api.cc

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

diff --git a/source/blender/blenvm/bvm/bvm_eval.cc b/source/blender/blenvm/bvm/bvm_eval.cc
index e8dbc48..5863f4d 100644
--- a/source/blender/blenvm/bvm/bvm_eval.cc
+++ b/source/blender/blenvm/bvm/bvm_eval.cc
@@ -61,8 +61,6 @@ EvalContext::~EvalContext()
 
 /* ------------------------------------------------------------------------- */
 
-static mesh_ptr __empty_mesh__;
-
 static void eval_op_value_float(float *stack, float value, StackIndex offset)
 {
 	stack_store_float(stack, offset, value);
@@ -98,7 +96,7 @@ static void eval_op_value_pointer(float *stack, PointerRNA value, StackIndex off
  */
 static void eval_op_value_mesh(float *stack, StackIndex offset)
 {
-	stack_store_mesh_ptr(stack, offset, __empty_mesh__);
+	stack_store_mesh(stack, offset, CDDM_new(0, 0, 0, 0, 0));
 }
 
 static void eval_op_float_to_int(float *stack, StackIndex offset_from, StackIndex offset_to)
@@ -926,14 +924,4 @@ void EvalContext::eval_expression(const EvalGlobals *globals, const EvalData *da
 	eval_instructions(globals, data, fn, entry_point, stack);
 }
 
-void bvm_init()
-{
-	create_empty_mesh(__empty_mesh__);
-}
-
-void bvm_free()
-{
-	destroy_empty_mesh(__empty_mesh__);
-}
-
 } /* namespace bvm */
diff --git a/source/blender/blenvm/bvm/bvm_eval.h b/source/blender/blenvm/bvm/bvm_eval.h
index 0be8487..dc55c15 100644
--- a/source/blender/blenvm/bvm/bvm_eval.h
+++ b/source/blender/blenvm/bvm/bvm_eval.h
@@ -137,9 +137,6 @@ protected:
 	MEM_CXX_CLASS_ALLOC_FUNCS("BVM:EvalContext")
 };
 
-void bvm_init();
-void bvm_free();
-
 } /* namespace bvm */
 
 #endif /* __BVM_EVAL_H__ */
diff --git a/source/blender/blenvm/intern/bvm_api.cc b/source/blender/blenvm/intern/bvm_api.cc
index 42a7dec..1a5025c 100644
--- a/source/blender/blenvm/intern/bvm_api.cc
+++ b/source/blender/blenvm/intern/bvm_api.cc
@@ -68,7 +68,6 @@ void BVM_init(void)
 	
 	create_empty_mesh(__empty_mesh__);
 	
-	bvm_init();
 	nodes_init();
 }
 
@@ -79,7 +78,6 @@ void BVM_free(void)
 	BVM_texture_cache_clear();
 	
 	nodes_free();
-	bvm_free();
 	
 	destroy_empty_mesh(__empty_mesh__);
 }




More information about the Bf-blender-cvs mailing list