[Bf-blender-cvs] [64210d66827] functions: simplify stack info setup

Jacques Lucke noreply at git.blender.org
Sun Apr 28 18:57:41 CEST 2019


Commit: 64210d6682756c4f16a67bfeee59f0867d390fbc
Author: Jacques Lucke
Date:   Sun Apr 28 18:33:36 2019 +0200
Branches: functions
https://developer.blender.org/rB64210d6682756c4f16a67bfeee59f0867d390fbc

simplify stack info setup

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

M	source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp
M	source/blender/functions/backends/tuple_call/tuple_call.hpp

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

diff --git a/source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp b/source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp
index c5b3b6f57d1..7e135762286 100644
--- a/source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp
+++ b/source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp
@@ -391,8 +391,8 @@ class ExecuteFGraph : public TupleCallBody {
                              true,
                              false);
 
-              SourceInfoStackFrame frame(m_graph->source_info_of_node(node_id));
-              body->call__setup_stack(body_in, body_out, ctx, frame);
+              SourceInfo *source_info = m_graph->source_info_of_node(node_id);
+              body->call__setup_stack(body_in, body_out, ctx, source_info);
               BLI_assert(body_out.all_initialized());
 
               for (uint output_id : m_graph->output_ids_of_node(node_id)) {
diff --git a/source/blender/functions/backends/tuple_call/tuple_call.hpp b/source/blender/functions/backends/tuple_call/tuple_call.hpp
index 38d68772e5f..0fb383e0f90 100644
--- a/source/blender/functions/backends/tuple_call/tuple_call.hpp
+++ b/source/blender/functions/backends/tuple_call/tuple_call.hpp
@@ -51,6 +51,15 @@ class TupleCallBody : public TupleCallBodyBase {
     ctx.stack().pop();
   }
 
+  inline void call__setup_stack(Tuple &fn_in,
+                                Tuple &fn_out,
+                                ExecutionContext &ctx,
+                                SourceInfo *source_info) const
+  {
+    SourceInfoStackFrame frame(source_info);
+    this->call__setup_stack(fn_in, fn_out, ctx, frame);
+  }
+
   inline void call__setup_execution_context(Tuple &fn_in, Tuple &fn_out) const
   {
     ExecutionStack stack;



More information about the Bf-blender-cvs mailing list