diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-08 16:27:10 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-08 16:27:10 +0300 |
commit | 43e0e8defa71bd3086b8547c848f7686e019e51b (patch) | |
tree | 465e11bca0b4962b66e3a24f362929a3f2c930a1 /source/blender/modifiers | |
parent | 3740f7593d7146135c2d2fac363f8aed4ba41cf0 (diff) |
Fix (unreported) bloody modifiers messing with ID user count in copy.
User count of IDs is handled by higher-level, generic function,
low-level copydata functions *MUST NOT* touch them anymore, ever!
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r-- | source/blender/modifiers/intern/MOD_dynamicpaint.c | 9 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_meshsequencecache.c | 3 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_uvproject.c | 14 |
3 files changed, 1 insertions, 25 deletions
diff --git a/source/blender/modifiers/intern/MOD_dynamicpaint.c b/source/blender/modifiers/intern/MOD_dynamicpaint.c index 9a497acbde1..e7cec312948 100644 --- a/source/blender/modifiers/intern/MOD_dynamicpaint.c +++ b/source/blender/modifiers/intern/MOD_dynamicpaint.c @@ -60,15 +60,6 @@ static void copyData(const ModifierData *md, ModifierData *target) DynamicPaintModifierData *tpmd = (DynamicPaintModifierData *)target; dynamicPaint_Modifier_copy(pmd, tpmd); - - if (tpmd->canvas) { - for (DynamicPaintSurface *surface = tpmd->canvas->surfaces.first; surface; surface = surface->next) { - id_us_plus((ID *)surface->init_texture); - } - } - if (tpmd->brush) { - id_us_plus((ID *)tpmd->brush->mat); - } } static void freeData(ModifierData *md) diff --git a/source/blender/modifiers/intern/MOD_meshsequencecache.c b/source/blender/modifiers/intern/MOD_meshsequencecache.c index e0da66a1734..af3039c50da 100644 --- a/source/blender/modifiers/intern/MOD_meshsequencecache.c +++ b/source/blender/modifiers/intern/MOD_meshsequencecache.c @@ -65,9 +65,6 @@ static void copyData(const ModifierData *md, ModifierData *target) modifier_copyData_generic(md, target); - if (tmcmd->cache_file) { - id_us_plus(&tmcmd->cache_file->id); - } tmcmd->reader = NULL; } diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index c0e3b488c2e..6006cd92ec9 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -67,18 +67,6 @@ static void initData(ModifierData *md) umd->scalex = umd->scaley = 1.0f; } -static void copyData(const ModifierData *md, ModifierData *target) -{ -#if 0 - const UVProjectModifierData *umd = (const UVProjectModifierData *) md; -#endif - UVProjectModifierData *tumd = (UVProjectModifierData *) target; - - modifier_copyData_generic(md, target); - - id_us_plus((ID *)tumd->image); -} - static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { CustomDataMask dataMask = 0; @@ -370,7 +358,7 @@ ModifierTypeInfo modifierType_UVProject = { eModifierTypeFlag_SupportsEditmode | eModifierTypeFlag_EnableInEditmode, - /* copyData */ copyData, + /* copyData */ modifier_copyData_generic, /* deformVerts */ NULL, /* deformMatrices */ NULL, /* deformVertsEM */ NULL, |