Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2018-05-08 16:27:10 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-05-08 16:27:10 +0300
commit43e0e8defa71bd3086b8547c848f7686e019e51b (patch)
tree465e11bca0b4962b66e3a24f362929a3f2c930a1 /source/blender/modifiers
parent3740f7593d7146135c2d2fac363f8aed4ba41cf0 (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.c9
-rw-r--r--source/blender/modifiers/intern/MOD_meshsequencecache.c3
-rw-r--r--source/blender/modifiers/intern/MOD_uvproject.c14
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,