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:
authorSergey Sharybin <sergey.vfx@gmail.com>2020-07-03 13:22:16 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2020-07-03 13:30:20 +0300
commitbbeb1b2b529290b68e5c8f62820f178d50106ac3 (patch)
tree01a201ede12846c1ccaadc4ac590b45d7884dc8b /source/blender/depsgraph/intern/builder
parent468adfa4fd9fab09f2ceeca40ab3c72e071931c6 (diff)
Depsgraph: Use C++ style of guarded allocation of objects
Diffstat (limited to 'source/blender/depsgraph/intern/builder')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_cache.cc4
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_cache.h8
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_remove_noop.cc2
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_transitive.cc2
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();