|
|
@ -83,7 +83,11 @@ BS_API void clear_blobtree() noexcept |
|
|
|
|
|
|
|
virtual_node_t push_primitive_node(primitive_node_t&& primitive_node) |
|
|
|
{ |
|
|
|
primitives.emplace_back(std::move(primitive_node)); |
|
|
|
primitives.emplace_back(primitive_node); |
|
|
|
primitive_node.desc = |
|
|
|
nullptr; // NOTE: primitives.back().desc and primitive_node.desc share same memory, so when this
|
|
|
|
// function returns, primitive_node.desc will be invalidated, so as primitives.back().desc, which outputs
|
|
|
|
// errors. Thus, we manually set primitive_node.desc to nullptr to avoid this problem.
|
|
|
|
|
|
|
|
node_t node{standard_new_node}; |
|
|
|
node_fetch_primitive_index(node) = static_cast<uint32_t>(primitives.size() - 1); |
|
|
|