[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