Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-02-13 20:33:56 +0300
committerJacques Lucke <jacques@blender.org>2020-02-13 20:33:56 +0300
commitfd46b5e9fea1b4e1d8568cfb6c9c65f39ed22a0c (patch)
treeb81035eeb7a62c12bba49cd305bf54e1f54d1acc /source/blender/simulations
parent10927b6747c0880e0d8d33d1a60e9137003a2676 (diff)
remove lazy init usage
Diffstat (limited to 'source/blender/simulations')
-rw-r--r--source/blender/simulations/bparticles/node_frontend.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/source/blender/simulations/bparticles/node_frontend.cpp b/source/blender/simulations/bparticles/node_frontend.cpp
index 59c1b057858..8e5ddc553fb 100644
--- a/source/blender/simulations/bparticles/node_frontend.cpp
+++ b/source/blender/simulations/bparticles/node_frontend.cpp
@@ -1044,9 +1044,9 @@ static void PARSE_always_execute(FNodeInfluencesBuilder &builder)
builder.add_offset_handler(system_names, offset_handler);
}
-BLI_LAZY_INIT_STATIC(StringMap<ParseNodeCallback>, get_node_parsers)
+static StringMap<ParseNodeCallback, BLI::RawAllocator> create_node_parsers_map()
{
- StringMap<ParseNodeCallback> map;
+ StringMap<ParseNodeCallback, BLI::RawAllocator> map;
map.add_new("fn_PointEmitterNode", PARSE_point_emitter);
map.add_new("fn_CustomEmitterNode", PARSE_custom_emitter);
map.add_new("fn_MeshEmitterNode", PARSE_mesh_emitter);
@@ -1061,6 +1061,9 @@ BLI_LAZY_INIT_STATIC(StringMap<ParseNodeCallback>, get_node_parsers)
return map;
}
+static StringMap<ParseNodeCallback, BLI::RawAllocator> node_parsers_map =
+ create_node_parsers_map();
+
static void collect_influences(FunctionTreeData &function_tree_data,
WorldTransition &world_transition,
Vector<std::string> &r_system_names,
@@ -1069,8 +1072,6 @@ static void collect_influences(FunctionTreeData &function_tree_data,
{
SCOPED_TIMER(__func__);
- StringMap<ParseNodeCallback> &parsers = get_node_parsers();
-
for (const FNode *fnode :
function_tree_data.function_tree().nodes_with_idname(particle_system_idname)) {
StringRef name = fnode->name();
@@ -1091,7 +1092,7 @@ static void collect_influences(FunctionTreeData &function_tree_data,
for (const FNode *fnode : function_tree_data.function_tree().all_nodes()) {
StringRef idname = fnode->idname();
- ParseNodeCallback *callback = parsers.lookup_ptr(idname);
+ ParseNodeCallback *callback = node_parsers_map.lookup_ptr(idname);
if (callback != nullptr) {
FNodeInfluencesBuilder builder{collector, function_tree_data, world_transition, *fnode};
(*callback)(builder);