diff options
author | Sergey Sharybin <sergey@blender.org> | 2022-03-02 13:45:48 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-03-02 13:45:48 +0300 |
commit | 51c5a4d85dcef911f9996b69e6028f239f651328 (patch) | |
tree | 7599fc13d8906303d6d39c0aa566e5fd90a02a51 /source/blender/depsgraph | |
parent | f8577db05dfc5140049d9a8b21a774cefea0bf79 (diff) | |
parent | 383a6ee78c111e3e1fa0be464d5493f7941fe67c (diff) |
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index 940c0bfc93c..77597e0db06 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -335,16 +335,10 @@ void DepsgraphNodeBuilder::begin_build() * same as id_orig. Additionally, such ID might have been removed, which makes the check * for whether id_cow is expanded to access freed memory. In order to deal with this we * check whether CoW is needed based on a scalar value which does not lead to access of - * possibly deleted memory. - * Additionally, this saves some space in the map by skipping mapping for datablocks which - * do not need CoW, */ - if (!deg_copy_on_write_is_needed(id_node->id_type)) { - id_node->id_cow = nullptr; - continue; - } - + * possibly deleted memory. */ IDInfo *id_info = (IDInfo *)MEM_mallocN(sizeof(IDInfo), "depsgraph id info"); - if (deg_copy_on_write_is_expanded(id_node->id_cow) && id_node->id_orig != id_node->id_cow) { + if (deg_copy_on_write_is_needed(id_node->id_type) && + deg_copy_on_write_is_expanded(id_node->id_cow) && id_node->id_orig != id_node->id_cow) { id_info->id_cow = id_node->id_cow; } else { |