[Bf-blender-cvs] [c4f9bfcf5e7] master: Fix T89765: boolean modifier collection refcount issue
Philipp Oeser
noreply at git.blender.org
Mon Jul 12 10:52:04 CEST 2021
Commit: c4f9bfcf5e7ddfaeacdea6dc9b01868edf74182f
Author: Philipp Oeser
Date: Sat Jul 10 16:15:59 2021 +0200
Branches: master
https://developer.blender.org/rBc4f9bfcf5e7ddfaeacdea6dc9b01868edf74182f
Fix T89765: boolean modifier collection refcount issue
The 'collection' property is flagged PROP_ID_REFCOUNT, so the
modifiers foreachIDLink functions should walk with IDWALK_CB_USER
(instead of IDWALK_CB_NOP).
Otherwise the modifier wont be included as a user for the collection
(e.g. on file read); removing the collection from the modifier will
decrement usercount though (which in worst case scenario makes the
collection orphan and will result in data loss)
Maniphest Tasks: T89765
Differential Revision: https://developer.blender.org/D11877
===================================================================
M source/blender/modifiers/intern/MOD_boolean.cc
===================================================================
diff --git a/source/blender/modifiers/intern/MOD_boolean.cc b/source/blender/modifiers/intern/MOD_boolean.cc
index 4b9b24e4e47..bdb791dc8e7 100644
--- a/source/blender/modifiers/intern/MOD_boolean.cc
+++ b/source/blender/modifiers/intern/MOD_boolean.cc
@@ -109,7 +109,7 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
{
BooleanModifierData *bmd = (BooleanModifierData *)md;
- walk(userData, ob, (ID **)&bmd->collection, IDWALK_CB_NOP);
+ walk(userData, ob, (ID **)&bmd->collection, IDWALK_CB_USER);
walk(userData, ob, (ID **)&bmd->object, IDWALK_CB_NOP);
}
More information about the Bf-blender-cvs
mailing list