diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2020-07-03 13:22:16 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2020-07-03 13:30:20 +0300 |
commit | bbeb1b2b529290b68e5c8f62820f178d50106ac3 (patch) | |
tree | 01a201ede12846c1ccaadc4ac590b45d7884dc8b /source/blender/depsgraph/intern/builder | |
parent | 468adfa4fd9fab09f2ceeca40ab3c72e071931c6 (diff) |
Depsgraph: Use C++ style of guarded allocation of objects
Diffstat (limited to 'source/blender/depsgraph/intern/builder')
4 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_cache.cc b/source/blender/depsgraph/intern/builder/deg_builder_cache.cc index 2faedc4fcd6..1095905c570 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_cache.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_cache.cc @@ -158,14 +158,14 @@ DepsgraphBuilderCache::~DepsgraphBuilderCache() { for (AnimatedPropertyStorage *animated_property_storage : animated_property_storage_map_.values()) { - OBJECT_GUARDED_DELETE(animated_property_storage, AnimatedPropertyStorage); + delete animated_property_storage; } } AnimatedPropertyStorage *DepsgraphBuilderCache::ensureAnimatedPropertyStorage(ID *id) { return animated_property_storage_map_.lookup_or_add_cb( - id, []() { return OBJECT_GUARDED_NEW(AnimatedPropertyStorage); }); + id, []() { return new AnimatedPropertyStorage(); }); } AnimatedPropertyStorage *DepsgraphBuilderCache::ensureInitializedAnimatedPropertyStorage(ID *id) diff --git a/source/blender/depsgraph/intern/builder/deg_builder_cache.h b/source/blender/depsgraph/intern/builder/deg_builder_cache.h index 6e159f55c94..43348e3bf23 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_cache.h +++ b/source/blender/depsgraph/intern/builder/deg_builder_cache.h @@ -23,6 +23,8 @@ #pragma once +#include "MEM_guardedalloc.h" + #include "intern/depsgraph_type.h" #include "RNA_access.h" @@ -51,6 +53,8 @@ class AnimatedPropertyID { /* Corresponds to PointerRNA.data. */ void *data; const PropertyRNA *property_rna; + + MEM_CXX_CLASS_ALLOC_FUNCS("AnimatedPropertyID"); }; class AnimatedPropertyStorage { @@ -70,6 +74,8 @@ class AnimatedPropertyStorage { /* indexed by PointerRNA.data. */ Set<AnimatedPropertyID> animated_properties_set; + + MEM_CXX_CLASS_ALLOC_FUNCS("AnimatedPropertyStorage"); }; /* Cached data which can be re-used by multiple builders. */ @@ -98,6 +104,8 @@ class DepsgraphBuilderCache { } Map<ID *, AnimatedPropertyStorage *> animated_property_storage_map_; + + MEM_CXX_CLASS_ALLOC_FUNCS("DepsgraphBuilderCache"); }; } // namespace deg diff --git a/source/blender/depsgraph/intern/builder/deg_builder_remove_noop.cc b/source/blender/depsgraph/intern/builder/deg_builder_remove_noop.cc index a9b405cfb27..8d51fa1422a 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_remove_noop.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_remove_noop.cc @@ -68,7 +68,7 @@ void deg_graph_remove_unused_noops(Depsgraph *graph) /* Remove the relation. */ rel_in->unlink(); - OBJECT_GUARDED_DELETE(rel_in, Relation); + delete rel_in; num_removed_relations++; /* Queue parent no-op node that has now become unused. */ diff --git a/source/blender/depsgraph/intern/builder/deg_builder_transitive.cc b/source/blender/depsgraph/intern/builder/deg_builder_transitive.cc index 8ffb20a9999..bd6a364e08a 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_transitive.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_transitive.cc @@ -102,7 +102,7 @@ void deg_graph_transitive_reduction(Depsgraph *graph) } for (Relation *rel : relations_to_remove) { rel->unlink(); - OBJECT_GUARDED_DELETE(rel, Relation); + delete rel; } num_removed_relations += relations_to_remove.size(); relations_to_remove.clear(); |