[Bf-blender-cvs] [637d5ab6359] blender2.8: Depsgraph: Clear localization tag for CoW IDs

Sergey Sharybin noreply at git.blender.org
Thu Nov 15 16:39:25 CET 2018


Commit: 637d5ab6359edefe8ac23c92f338799127e39d18
Author: Sergey Sharybin
Date:   Thu Nov 15 16:38:20 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB637d5ab6359edefe8ac23c92f338799127e39d18

Depsgraph: Clear localization tag for CoW IDs

They are self-contained now, and should not cause any sync or
free happening when freeing them.

===================================================================

M	source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc

===================================================================

diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
index 3e3bd91a08c..0c50ce6b82a 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
@@ -1112,6 +1112,8 @@ void deg_tag_copy_on_write_id(ID *id_cow, const ID *id_orig)
 	BLI_assert(id_cow != id_orig);
 	BLI_assert((id_orig->tag & LIB_TAG_COPIED_ON_WRITE) == 0);
 	id_cow->tag |= LIB_TAG_COPIED_ON_WRITE;
+	/* This ID is no longer localized, is a self-sustaining copy now. */
+	id_cow->tag &= ~LIB_TAG_LOCALIZED;
 	id_cow->orig_id = (ID *)id_orig;
 }



More information about the Bf-blender-cvs mailing list