From bbeb1b2b529290b68e5c8f62820f178d50106ac3 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 3 Jul 2020 12:22:16 +0200 Subject: Depsgraph: Use C++ style of guarded allocation of objects --- source/blender/depsgraph/intern/node/deg_node.cc | 2 +- source/blender/depsgraph/intern/node/deg_node.h | 4 ++++ source/blender/depsgraph/intern/node/deg_node_component.cc | 4 ++-- source/blender/depsgraph/intern/node/deg_node_factory_impl.h | 2 +- source/blender/depsgraph/intern/node/deg_node_id.cc | 2 +- 5 files changed, 9 insertions(+), 5 deletions(-) (limited to 'source/blender/depsgraph/intern/node') diff --git a/source/blender/depsgraph/intern/node/deg_node.cc b/source/blender/depsgraph/intern/node/deg_node.cc index 54a22a07ee4..9e386f13888 100644 --- a/source/blender/depsgraph/intern/node/deg_node.cc +++ b/source/blender/depsgraph/intern/node/deg_node.cc @@ -302,7 +302,7 @@ Node::~Node() * when we're trying to free same link from both it's sides. We don't have * dangling links so this is not a problem from memory leaks point of view. */ for (Relation *rel : inlinks) { - OBJECT_GUARDED_DELETE(rel, Relation); + delete rel; } } diff --git a/source/blender/depsgraph/intern/node/deg_node.h b/source/blender/depsgraph/intern/node/deg_node.h index 94953c4ec5d..188022fa2ae 100644 --- a/source/blender/depsgraph/intern/node/deg_node.h +++ b/source/blender/depsgraph/intern/node/deg_node.h @@ -23,6 +23,8 @@ #pragma once +#include "MEM_guardedalloc.h" + #include "intern/depsgraph_type.h" #include "BLI_utildefines.h" @@ -204,6 +206,8 @@ struct Node { } virtual NodeClass get_class() const; + + MEM_CXX_CLASS_ALLOC_FUNCS("Node"); }; /* Macros for common static typeinfo. */ diff --git a/source/blender/depsgraph/intern/node/deg_node_component.cc b/source/blender/depsgraph/intern/node/deg_node_component.cc index c99b3aba312..490598af8f9 100644 --- a/source/blender/depsgraph/intern/node/deg_node_component.cc +++ b/source/blender/depsgraph/intern/node/deg_node_component.cc @@ -221,12 +221,12 @@ void ComponentNode::clear_operations() { if (operations_map != nullptr) { for (OperationNode *op_node : operations_map->values()) { - OBJECT_GUARDED_DELETE(op_node, OperationNode); + delete op_node; } operations_map->clear(); } for (OperationNode *op_node : operations) { - OBJECT_GUARDED_DELETE(op_node, OperationNode); + delete op_node; } operations.clear(); } diff --git a/source/blender/depsgraph/intern/node/deg_node_factory_impl.h b/source/blender/depsgraph/intern/node/deg_node_factory_impl.h index f5dd7122fca..0fc7e496ed9 100644 --- a/source/blender/depsgraph/intern/node/deg_node_factory_impl.h +++ b/source/blender/depsgraph/intern/node/deg_node_factory_impl.h @@ -50,7 +50,7 @@ Node *DepsNodeFactoryImpl::create_node(const ID *id, const char *subdata, const char *name) const { - Node *node = OBJECT_GUARDED_NEW(ModeObjectType); + Node *node = new ModeObjectType(); /* Populate base node settings. */ node->type = type(); /* Set name if provided, or use default type name. */ diff --git a/source/blender/depsgraph/intern/node/deg_node_id.cc b/source/blender/depsgraph/intern/node/deg_node_id.cc index 843f59b446a..d0c23f326ce 100644 --- a/source/blender/depsgraph/intern/node/deg_node_id.cc +++ b/source/blender/depsgraph/intern/node/deg_node_id.cc @@ -133,7 +133,7 @@ void IDNode::destroy() } for (ComponentNode *comp_node : components.values()) { - OBJECT_GUARDED_DELETE(comp_node, ComponentNode); + delete comp_node; } /* Free memory used by this CoW ID. */ -- cgit v1.2.3