From f375028a2542981732aef6ce4700aa951325e63d Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 8 Oct 2015 14:21:11 +0200 Subject: Modifiers: add 'cd_flag' parameter to their ID looping callbacks, needed since some IDs (objects) are not 'refcounted' while others (textures) are... Partial merge from id-remap branch. --- source/blender/modifiers/intern/MOD_armature.c | 3 ++- source/blender/modifiers/intern/MOD_array.c | 9 +++++---- source/blender/modifiers/intern/MOD_boolean.c | 3 ++- source/blender/modifiers/intern/MOD_cast.c | 3 ++- source/blender/modifiers/intern/MOD_cloth.c | 5 +++-- source/blender/modifiers/intern/MOD_curve.c | 3 ++- source/blender/modifiers/intern/MOD_datatransfer.c | 3 ++- source/blender/modifiers/intern/MOD_displace.c | 5 +++-- source/blender/modifiers/intern/MOD_dynamicpaint.c | 7 ++++--- source/blender/modifiers/intern/MOD_hook.c | 3 ++- source/blender/modifiers/intern/MOD_lattice.c | 3 ++- source/blender/modifiers/intern/MOD_mask.c | 3 ++- source/blender/modifiers/intern/MOD_meshdeform.c | 3 ++- source/blender/modifiers/intern/MOD_mirror.c | 3 ++- source/blender/modifiers/intern/MOD_normal_edit.c | 3 ++- source/blender/modifiers/intern/MOD_particleinstance.c | 3 ++- source/blender/modifiers/intern/MOD_screw.c | 3 ++- source/blender/modifiers/intern/MOD_shrinkwrap.c | 5 +++-- source/blender/modifiers/intern/MOD_simpledeform.c | 3 ++- source/blender/modifiers/intern/MOD_smoke.c | 11 ++++++----- source/blender/modifiers/intern/MOD_uvproject.c | 5 +++-- source/blender/modifiers/intern/MOD_uvwarp.c | 5 +++-- source/blender/modifiers/intern/MOD_warp.c | 9 +++++---- source/blender/modifiers/intern/MOD_wave.c | 7 ++++--- source/blender/modifiers/intern/MOD_weightvgedit.c | 5 +++-- source/blender/modifiers/intern/MOD_weightvgmix.c | 5 +++-- source/blender/modifiers/intern/MOD_weightvgproximity.c | 7 ++++--- 27 files changed, 77 insertions(+), 50 deletions(-) (limited to 'source/blender/modifiers') diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index 2ecbf276fc8..d9ace45453c 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -45,6 +45,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "MEM_guardedalloc.h" @@ -95,7 +96,7 @@ static void foreachObjectLink( { ArmatureModifierData *amd = (ArmatureModifierData *) md; - walk(userData, ob, &amd->object); + walk(userData, ob, &amd->object, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 1cbbdaf3b23..15a7e51e865 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -48,6 +48,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_displist.h" #include "BKE_curve.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "MOD_util.h" @@ -94,10 +95,10 @@ static void foreachObjectLink( { ArrayModifierData *amd = (ArrayModifierData *) md; - walk(userData, ob, &amd->start_cap); - walk(userData, ob, &amd->end_cap); - walk(userData, ob, &amd->curve_ob); - walk(userData, ob, &amd->offset_ob); + walk(userData, ob, &amd->start_cap, IDWALK_NOP); + walk(userData, ob, &amd->end_cap, IDWALK_NOP); + walk(userData, ob, &amd->curve_ob, IDWALK_NOP); + walk(userData, ob, &amd->offset_ob, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index b2b2a18bb26..3fd2c8a3502 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -40,6 +40,7 @@ #include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "depsgraph_private.h" @@ -69,7 +70,7 @@ static void foreachObjectLink( { BooleanModifierData *bmd = (BooleanModifierData *) md; - walk(userData, ob, &bmd->object); + walk(userData, ob, &bmd->object, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index 5c3b40b5d0e..32c3d41c4b6 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -42,6 +42,7 @@ #include "BKE_deform.h" #include "BKE_DerivedMesh.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" @@ -101,7 +102,7 @@ static void foreachObjectLink( { CastModifierData *cmd = (CastModifierData *) md; - walk(userData, ob, &cmd->object); + walk(userData, ob, &cmd->object, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index dac0e516e0d..6cc2f097be8 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -49,6 +49,7 @@ #include "BKE_effect.h" #include "BKE_global.h" #include "BKE_key.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_pointcache.h" @@ -241,11 +242,11 @@ static void foreachIDLink(ModifierData *md, Object *ob, ClothModifierData *clmd = (ClothModifierData *) md; if (clmd->coll_parms) { - walk(userData, ob, (ID **)&clmd->coll_parms->group); + walk(userData, ob, (ID **)&clmd->coll_parms->group, IDWALK_NOP); } if (clmd->sim_parms && clmd->sim_parms->effector_weights) { - walk(userData, ob, (ID **)&clmd->sim_parms->effector_weights->group); + walk(userData, ob, (ID **)&clmd->sim_parms->effector_weights->group, IDWALK_NOP); } } diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index 15e81ef508e..6e2d746c858 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -42,6 +42,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "depsgraph_private.h" @@ -88,7 +89,7 @@ static void foreachObjectLink( { CurveModifierData *cmd = (CurveModifierData *) md; - walk(userData, ob, &cmd->object); + walk(userData, ob, &cmd->object, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_datatransfer.c b/source/blender/modifiers/intern/MOD_datatransfer.c index 0ce97760afb..f5ab28d3d88 100644 --- a/source/blender/modifiers/intern/MOD_datatransfer.c +++ b/source/blender/modifiers/intern/MOD_datatransfer.c @@ -41,6 +41,7 @@ #include "BKE_data_transfer.h" #include "BKE_DerivedMesh.h" #include "BKE_library.h" +#include "BKE_library_query.h" #include "BKE_mesh_mapping.h" #include "BKE_mesh_remap.h" #include "BKE_modifier.h" @@ -123,7 +124,7 @@ static void foreachObjectLink( ObjectWalkFunc walk, void *userData) { DataTransferModifierData *dtmd = (DataTransferModifierData *) md; - walk(userData, ob, &dtmd->ob_source); + walk(userData, ob, &dtmd->ob_source, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index b20d7d8a3a9..9ba2d214d50 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -41,6 +41,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_library.h" +#include "BKE_library_query.h" #include "BKE_mesh.h" #include "BKE_modifier.h" #include "BKE_texture.h" @@ -129,7 +130,7 @@ static void foreachObjectLink(ModifierData *md, Object *ob, { DisplaceModifierData *dmd = (DisplaceModifierData *) md; - walk(userData, ob, &dmd->map_object); + walk(userData, ob, &dmd->map_object, IDWALK_NOP); } static void foreachIDLink(ModifierData *md, Object *ob, @@ -137,7 +138,7 @@ static void foreachIDLink(ModifierData *md, Object *ob, { DisplaceModifierData *dmd = (DisplaceModifierData *) md; - walk(userData, ob, (ID **)&dmd->texture); + walk(userData, ob, (ID **)&dmd->texture, IDWALK_USER); foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } diff --git a/source/blender/modifiers/intern/MOD_dynamicpaint.c b/source/blender/modifiers/intern/MOD_dynamicpaint.c index f1b6ceb070c..91af9659d79 100644 --- a/source/blender/modifiers/intern/MOD_dynamicpaint.c +++ b/source/blender/modifiers/intern/MOD_dynamicpaint.c @@ -35,6 +35,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_dynamicpaint.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "depsgraph_private.h" @@ -170,12 +171,12 @@ static void foreachIDLink(ModifierData *md, Object *ob, DynamicPaintSurface *surface = pmd->canvas->surfaces.first; for (; surface; surface = surface->next) { - walk(userData, ob, (ID **)&surface->brush_group); - walk(userData, ob, (ID **)&surface->init_texture); + walk(userData, ob, (ID **)&surface->brush_group, IDWALK_NOP); + walk(userData, ob, (ID **)&surface->init_texture, IDWALK_USER); } } if (pmd->brush) { - walk(userData, ob, (ID **)&pmd->brush->mat); + walk(userData, ob, (ID **)&pmd->brush->mat, IDWALK_USER); } } diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index b043fa8fc62..1a27202fb34 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -41,6 +41,7 @@ #include "BKE_action.h" #include "BKE_cdderivedmesh.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_deform.h" #include "BKE_colortools.h" @@ -107,7 +108,7 @@ static void foreachObjectLink( { HookModifierData *hmd = (HookModifierData *) md; - walk(userData, ob, &hmd->object); + walk(userData, ob, &hmd->object, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index 3c5406a8adb..0f49ce6cfbf 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -41,6 +41,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "depsgraph_private.h" @@ -87,7 +88,7 @@ static void foreachObjectLink( { LatticeModifierData *lmd = (LatticeModifierData *) md; - walk(userData, ob, &lmd->object); + walk(userData, ob, &lmd->object, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index 33ded72aaeb..5e01a20d93b 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -46,6 +46,7 @@ #include "BKE_action.h" /* BKE_pose_channel_find_name */ #include "BKE_cdderivedmesh.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_deform.h" @@ -73,7 +74,7 @@ static void foreachObjectLink( ObjectWalkFunc walk, void *userData) { MaskModifierData *mmd = (MaskModifierData *)md; - walk(userData, ob, &mmd->ob_arm); + walk(userData, ob, &mmd->ob_arm, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index 152b89e47a3..8aa5f281f56 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -42,6 +42,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_global.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_deform.h" #include "BKE_editmesh.h" @@ -118,7 +119,7 @@ static void foreachObjectLink( { MeshDeformModifierData *mmd = (MeshDeformModifierData *) md; - walk(userData, ob, &mmd->object); + walk(userData, ob, &mmd->object, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index af6a5db1f35..88facb22e0e 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -39,6 +39,7 @@ #include "BLI_math.h" #include "BKE_cdderivedmesh.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_deform.h" @@ -71,7 +72,7 @@ static void foreachObjectLink( { MirrorModifierData *mmd = (MirrorModifierData *) md; - walk(userData, ob, &mmd->mirror_ob); + walk(userData, ob, &mmd->mirror_ob, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_normal_edit.c b/source/blender/modifiers/intern/MOD_normal_edit.c index 3a0606f35b6..2eccefcc8df 100644 --- a/source/blender/modifiers/intern/MOD_normal_edit.c +++ b/source/blender/modifiers/intern/MOD_normal_edit.c @@ -38,6 +38,7 @@ #include "BLI_bitmap.h" #include "BKE_cdderivedmesh.h" +#include "BKE_library_query.h" #include "BKE_mesh.h" #include "BKE_deform.h" @@ -450,7 +451,7 @@ static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, { NormalEditModifierData *smd = (NormalEditModifierData *) md; - walk(userData, ob, &smd->target); + walk(userData, ob, &smd->target, IDWALK_NOP); } static bool isDisabled(ModifierData *md, int UNUSED(useRenderParams)) diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index cb6234d50b7..289611ad90a 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -46,6 +46,7 @@ #include "BKE_effect.h" #include "BKE_global.h" #include "BKE_lattice.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_particle.h" #include "BKE_pointcache.h" @@ -144,7 +145,7 @@ static void foreachObjectLink(ModifierData *md, Object *ob, { ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData *) md; - walk(userData, ob, &pimd->ob); + walk(userData, ob, &pimd->ob, IDWALK_NOP); } static int particle_skip(ParticleInstanceModifierData *pimd, ParticleSystem *psys, int p) diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 386b2179c63..41ebd865720 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -44,6 +44,7 @@ #include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" +#include "BKE_library_query.h" #include "depsgraph_private.h" #include "DEG_depsgraph_build.h" @@ -1094,7 +1095,7 @@ static void foreachObjectLink( { ScrewModifierData *ltmd = (ScrewModifierData *) md; - walk(userData, ob, <md->ob_axis); + walk(userData, ob, <md->ob_axis, IDWALK_NOP); } ModifierTypeInfo modifierType_Screw = { diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index 91be0c40059..a9919cadd16 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -41,6 +41,7 @@ #include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_shrinkwrap.h" @@ -100,8 +101,8 @@ static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, { ShrinkwrapModifierData *smd = (ShrinkwrapModifierData *) md; - walk(userData, ob, &smd->target); - walk(userData, ob, &smd->auxTarget); + walk(userData, ob, &smd->target, IDWALK_NOP); + walk(userData, ob, &smd->auxTarget, IDWALK_NOP); } static void deformVerts(ModifierData *md, Object *ob, diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index 22a19cf77a8..f4fbfa74076 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -40,6 +40,7 @@ #include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_deform.h" @@ -284,7 +285,7 @@ static void foreachObjectLink( ObjectWalkFunc walk, void *userData) { SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md; - walk(userData, ob, &smd->origin); + walk(userData, ob, &smd->origin, IDWALK_NOP); } static void updateDepgraph(ModifierData *md, DagForest *forest, diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index 657c4e09d96..f0f235c8ad5 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -48,6 +48,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_library.h" +#include "BKE_library_query.h" #include "BKE_main.h" #include "BKE_modifier.h" #include "BKE_smoke.h" @@ -339,17 +340,17 @@ static void foreachIDLink(ModifierData *md, Object *ob, 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); + walk(userData, ob, (ID **)&smd->domain->coll_group, IDWALK_NOP); + walk(userData, ob, (ID **)&smd->domain->fluid_group, IDWALK_NOP); + walk(userData, ob, (ID **)&smd->domain->eff_group, IDWALK_NOP); if (smd->domain->effector_weights) { - walk(userData, ob, (ID **)&smd->domain->effector_weights->group); + walk(userData, ob, (ID **)&smd->domain->effector_weights->group, IDWALK_NOP); } } if (smd->type == MOD_SMOKE_TYPE_FLOW && smd->flow) { - walk(userData, ob, (ID **)&smd->flow->noise_texture); + walk(userData, ob, (ID **)&smd->flow->noise_texture, IDWALK_USER); } } diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index 035bda66f6e..fb7668d16e0 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -45,6 +45,7 @@ #include "BKE_camera.h" +#include "BKE_library_query.h" #include "BKE_mesh.h" #include "BKE_DerivedMesh.h" @@ -91,7 +92,7 @@ static void foreachObjectLink(ModifierData *md, Object *ob, int i; for (i = 0; i < MOD_UVPROJECT_MAXPROJECTORS; ++i) - walk(userData, ob, &umd->projectors[i]); + walk(userData, ob, &umd->projectors[i], IDWALK_NOP); } static void foreachIDLink(ModifierData *md, Object *ob, @@ -99,7 +100,7 @@ static void foreachIDLink(ModifierData *md, Object *ob, { UVProjectModifierData *umd = (UVProjectModifierData *) md; - walk(userData, ob, (ID **)&umd->image); + walk(userData, ob, (ID **)&umd->image, IDWALK_USER); foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } diff --git a/source/blender/modifiers/intern/MOD_uvwarp.c b/source/blender/modifiers/intern/MOD_uvwarp.c index 3c4ca66485d..5418c222d13 100644 --- a/source/blender/modifiers/intern/MOD_uvwarp.c +++ b/source/blender/modifiers/intern/MOD_uvwarp.c @@ -36,6 +36,7 @@ #include "BKE_action.h" /* BKE_pose_channel_find_name */ #include "BKE_cdderivedmesh.h" #include "BKE_deform.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "depsgraph_private.h" @@ -200,8 +201,8 @@ static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, { UVWarpModifierData *umd = (UVWarpModifierData *) md; - walk(userData, ob, &umd->object_dst); - walk(userData, ob, &umd->object_src); + walk(userData, ob, &umd->object_dst, IDWALK_NOP); + walk(userData, ob, &umd->object_src, IDWALK_NOP); } static void uv_warp_deps_object_bone(DagForest *forest, DagNode *obNode, diff --git a/source/blender/modifiers/intern/MOD_warp.c b/source/blender/modifiers/intern/MOD_warp.c index b364b7a9e38..27d3bac59ec 100644 --- a/source/blender/modifiers/intern/MOD_warp.c +++ b/source/blender/modifiers/intern/MOD_warp.c @@ -36,6 +36,7 @@ #include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_deform.h" #include "BKE_texture.h" @@ -115,16 +116,16 @@ static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, { WarpModifierData *wmd = (WarpModifierData *) md; - walk(userData, ob, &wmd->object_from); - walk(userData, ob, &wmd->object_to); - walk(userData, ob, &wmd->map_object); + walk(userData, ob, &wmd->object_from, IDWALK_NOP); + walk(userData, ob, &wmd->object_to, IDWALK_NOP); + walk(userData, ob, &wmd->map_object, IDWALK_NOP); } static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) { WarpModifierData *wmd = (WarpModifierData *) md; - walk(userData, ob, (ID **)&wmd->texture); + walk(userData, ob, (ID **)&wmd->texture, IDWALK_USER); foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index 5b98f221489..f13eeb3185e 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -45,6 +45,7 @@ #include "BKE_deform.h" #include "BKE_DerivedMesh.h" #include "BKE_library.h" +#include "BKE_library_query.h" #include "BKE_scene.h" #include "BKE_texture.h" @@ -110,8 +111,8 @@ static void foreachObjectLink( { WaveModifierData *wmd = (WaveModifierData *) md; - walk(userData, ob, &wmd->objectcenter); - walk(userData, ob, &wmd->map_object); + walk(userData, ob, &wmd->objectcenter, IDWALK_NOP); + walk(userData, ob, &wmd->map_object, IDWALK_NOP); } static void foreachIDLink(ModifierData *md, Object *ob, @@ -119,7 +120,7 @@ static void foreachIDLink(ModifierData *md, Object *ob, { WaveModifierData *wmd = (WaveModifierData *) md; - walk(userData, ob, (ID **)&wmd->texture); + walk(userData, ob, (ID **)&wmd->texture, IDWALK_USER); foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } diff --git a/source/blender/modifiers/intern/MOD_weightvgedit.c b/source/blender/modifiers/intern/MOD_weightvgedit.c index 8e40b01e0f8..93567aed2c4 100644 --- a/source/blender/modifiers/intern/MOD_weightvgedit.c +++ b/source/blender/modifiers/intern/MOD_weightvgedit.c @@ -42,6 +42,7 @@ #include "BKE_colortools.h" /* CurveMapping. */ #include "BKE_deform.h" #include "BKE_library.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_texture.h" /* Texture masking. */ @@ -125,14 +126,14 @@ static bool dependsOnTime(ModifierData *md) static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData) { WeightVGEditModifierData *wmd = (WeightVGEditModifierData *) md; - walk(userData, ob, &wmd->mask_tex_map_obj); + walk(userData, ob, &wmd->mask_tex_map_obj, IDWALK_NOP); } static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) { WeightVGEditModifierData *wmd = (WeightVGEditModifierData *) md; - walk(userData, ob, (ID **)&wmd->mask_texture); + walk(userData, ob, (ID **)&wmd->mask_texture, IDWALK_USER); foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } diff --git a/source/blender/modifiers/intern/MOD_weightvgmix.c b/source/blender/modifiers/intern/MOD_weightvgmix.c index f4915cd0933..01a219d1457 100644 --- a/source/blender/modifiers/intern/MOD_weightvgmix.c +++ b/source/blender/modifiers/intern/MOD_weightvgmix.c @@ -39,6 +39,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_deform.h" #include "BKE_library.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_texture.h" /* Texture masking. */ @@ -174,14 +175,14 @@ static bool dependsOnTime(ModifierData *md) static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData) { WeightVGMixModifierData *wmd = (WeightVGMixModifierData *) md; - walk(userData, ob, &wmd->mask_tex_map_obj); + walk(userData, ob, &wmd->mask_tex_map_obj, IDWALK_NOP); } static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) { WeightVGMixModifierData *wmd = (WeightVGMixModifierData *) md; - walk(userData, ob, (ID **)&wmd->mask_texture); + walk(userData, ob, (ID **)&wmd->mask_texture, IDWALK_USER); foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } diff --git a/source/blender/modifiers/intern/MOD_weightvgproximity.c b/source/blender/modifiers/intern/MOD_weightvgproximity.c index 18ce31a265d..51c6f5cab3c 100644 --- a/source/blender/modifiers/intern/MOD_weightvgproximity.c +++ b/source/blender/modifiers/intern/MOD_weightvgproximity.c @@ -42,6 +42,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_deform.h" #include "BKE_library.h" +#include "BKE_library_query.h" #include "BKE_modifier.h" #include "BKE_texture.h" /* Texture masking. */ @@ -290,15 +291,15 @@ static bool dependsOnTime(ModifierData *md) static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData) { WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData *) md; - walk(userData, ob, &wmd->proximity_ob_target); - walk(userData, ob, &wmd->mask_tex_map_obj); + walk(userData, ob, &wmd->proximity_ob_target, IDWALK_NOP); + walk(userData, ob, &wmd->mask_tex_map_obj, IDWALK_NOP); } static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) { WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData *) md; - walk(userData, ob, (ID **)&wmd->mask_texture); + walk(userData, ob, (ID **)&wmd->mask_texture, IDWALK_USER); foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } -- cgit v1.2.3