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:
authorCampbell Barton <ideasman42@gmail.com>2011-03-31 15:21:21 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-03-31 15:21:21 +0400
commitc7183d2622a0cba5e07653daa4a5aca9ad9ed9cc (patch)
tree9c59cb1fef580eedefaf22d15fa2b1be26c00bb8 /source/blender/modifiers
parent75cd392a570ded2c8b1e2abf1d98383aaab706a5 (diff)
library linked modifiers were not having their ID linked expanded properly.
was missing array cap ends, wave map object and shrinkwrap objects. use modifiers_foreachIDLink() rather then having to list all modifiers ID's in this function. also add foreachIDLink() for smoke domain. This fixes a bug where a linked object has as a modifier using an indirectly linked object for the missing cases mentioned above.
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r--source/blender/modifiers/intern/MOD_smoke.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c
index b13d86a609e..d8e94e92bfa 100644
--- a/source/blender/modifiers/intern/MOD_smoke.c
+++ b/source/blender/modifiers/intern/MOD_smoke.c
@@ -147,6 +147,17 @@ static void updateDepgraph(ModifierData *md, DagForest *forest,
}
}
+static void foreachIDLink(ModifierData *md, Object *ob,
+ IDWalkFunc walk, void *userData)
+{
+ SmokeModifierData *smd = (SmokeModifierData*) md;
+
+ if(smd->type==MOD_SMOKE_TYPE_DOMAIN && smd->domain) {
+ walk(userData, ob, (ID **)&smd->domain->coll_group);
+ walk(userData, ob, (ID **)&smd->domain->fluid_group);
+ walk(userData, ob, (ID **)&smd->domain->eff_group);
+ }
+}
ModifierTypeInfo modifierType_Smoke = {
/* name */ "Smoke",
@@ -172,5 +183,5 @@ ModifierTypeInfo modifierType_Smoke = {
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL,
+ /* foreachIDLink */ foreachIDLink,
};