diff options
author | Jacques Lucke <jacques@blender.org> | 2022-10-18 16:48:50 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2022-10-18 16:49:05 +0300 |
commit | 619ce8392b2122e326dcfad4fe195de8f01cedca (patch) | |
tree | a6a4f58f79330efb7ea03150533a9e1470ca3524 /source/blender/depsgraph/intern | |
parent | 489260198e9654aaf5922e64fbe36b335bcb8e1b (diff) |
Depsgraph: wrong copy-on-write update after depsgraph rebuild
Differential Revision: https://developer.blender.org/D16268
Diffstat (limited to 'source/blender/depsgraph/intern')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index f95c0700a47..6cb0b985d3d 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -453,6 +453,11 @@ static int foreach_id_cow_detect_need_for_update_callback(LibraryIDLinkCallbackD if (id == nullptr) { return IDWALK_RET_NOP; } + if (!ID_TYPE_IS_COW(GS(id->name))) { + /* No need to go further if thte id never had a cow copy in the depsgraph. This function is + * only concerned with keeping the mapping between original and cow ids intact. */ + return IDWALK_RET_NOP; + } DepsgraphNodeBuilder *builder = static_cast<DepsgraphNodeBuilder *>(cb_data->user_data); ID *id_cow_self = cb_data->id_self; |