diff options
author | Jacques Lucke <jacques@blender.org> | 2020-02-13 20:33:56 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-02-13 20:33:56 +0300 |
commit | fd46b5e9fea1b4e1d8568cfb6c9c65f39ed22a0c (patch) | |
tree | b81035eeb7a62c12bba49cd305bf54e1f54d1acc /source/blender/simulations | |
parent | 10927b6747c0880e0d8d33d1a60e9137003a2676 (diff) |
remove lazy init usage
Diffstat (limited to 'source/blender/simulations')
-rw-r--r-- | source/blender/simulations/bparticles/node_frontend.cpp | 11 |
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); |