Commit: ec723ad25c70994ac24b528384ee9df927a3e850 Author: Jacques Lucke Date: Thu Oct 1 18:05:23 2020 +0200 Branches: master https://developer.blender.org/rBec723ad25c70994ac24b528384ee9df927a3e850
remove foreachObjectLink callback This removes `foreachObjectLink` from `ModifierTypeInfo`, `GpencilModifierTypeInfo` and `ShaderFxTypeInfo`. There is no need to have both, `foreachObjectLink` and `foreachIDLink`. There is not code that actually depends on `foreachObjectLink`. Reviewers: brecht Differential Revision: https://developer.blender.org/D9078 =================================================================== M source/blender/blenkernel/BKE_gpencil_modifier.h M source/blender/blenkernel/BKE_modifier.h M source/blender/blenkernel/BKE_shader_fx.h M source/blender/blenkernel/intern/gpencil_modifier.c M source/blender/blenkernel/intern/modifier.c M source/blender/blenkernel/intern/shader_fx.c M source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c M source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c M source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c M source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c M source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c M source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c M source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c M source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c M source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c M source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c M source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c M source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c M source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c M source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c M source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c M source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c M source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c M source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c M source/blender/modifiers/intern/MOD_armature.c M source/blender/modifiers/intern/MOD_array.c M source/blender/modifiers/intern/MOD_bevel.c M source/blender/modifiers/intern/MOD_boolean.c M source/blender/modifiers/intern/MOD_build.c M source/blender/modifiers/intern/MOD_cast.c M source/blender/modifiers/intern/MOD_cloth.c M source/blender/modifiers/intern/MOD_collision.c M source/blender/modifiers/intern/MOD_correctivesmooth.c M source/blender/modifiers/intern/MOD_curve.c M source/blender/modifiers/intern/MOD_datatransfer.c M source/blender/modifiers/intern/MOD_decimate.c M source/blender/modifiers/intern/MOD_displace.c M source/blender/modifiers/intern/MOD_dynamicpaint.c M source/blender/modifiers/intern/MOD_edgesplit.c M source/blender/modifiers/intern/MOD_explode.c M source/blender/modifiers/intern/MOD_fluid.c M source/blender/modifiers/intern/MOD_hook.c M source/blender/modifiers/intern/MOD_laplaciandeform.c M source/blender/modifiers/intern/MOD_laplaciansmooth.c M source/blender/modifiers/intern/MOD_lattice.c M source/blender/modifiers/intern/MOD_mask.cc M source/blender/modifiers/intern/MOD_mesh_to_volume.cc M source/blender/modifiers/intern/MOD_meshcache.c M source/blender/modifiers/intern/MOD_meshdeform.c M source/blender/modifiers/intern/MOD_meshsequencecache.c M source/blender/modifiers/intern/MOD_mirror.c M source/blender/modifiers/intern/MOD_multires.c M source/blender/modifiers/intern/MOD_none.c M source/blender/modifiers/intern/MOD_normal_edit.c M source/blender/modifiers/intern/MOD_ocean.c M source/blender/modifiers/intern/MOD_particleinstance.c M source/blender/modifiers/intern/MOD_particlesystem.c M source/blender/modifiers/intern/MOD_remesh.c M source/blender/modifiers/intern/MOD_screw.c M source/blender/modifiers/intern/MOD_shapekey.c M source/blender/modifiers/intern/MOD_shrinkwrap.c M source/blender/modifiers/intern/MOD_simpledeform.c M source/blender/modifiers/intern/MOD_simulation.cc M source/blender/modifiers/intern/MOD_skin.c M source/blender/modifiers/intern/MOD_smooth.c M source/blender/modifiers/intern/MOD_softbody.c M source/blender/modifiers/intern/MOD_solidify.c M source/blender/modifiers/intern/MOD_subsurf.c M source/blender/modifiers/intern/MOD_surface.c M source/blender/modifiers/intern/MOD_surfacedeform.c M source/blender/modifiers/intern/MOD_triangulate.c M source/blender/modifiers/intern/MOD_uvproject.c M source/blender/modifiers/intern/MOD_uvwarp.c M source/blender/modifiers/intern/MOD_warp.c M source/blender/modifiers/intern/MOD_wave.c M source/blender/modifiers/intern/MOD_weighted_normal.c M source/blender/modifiers/intern/MOD_weightvgedit.c M source/blender/modifiers/intern/MOD_weightvgmix.c M source/blender/modifiers/intern/MOD_weightvgproximity.c M source/blender/modifiers/intern/MOD_weld.c M source/blender/modifiers/intern/MOD_wireframe.c M source/blender/shader_fx/intern/FX_shader_blur.c M source/blender/shader_fx/intern/FX_shader_colorize.c M source/blender/shader_fx/intern/FX_shader_flip.c M source/blender/shader_fx/intern/FX_shader_glow.c M source/blender/shader_fx/intern/FX_shader_pixel.c M source/blender/shader_fx/intern/FX_shader_rim.c M source/blender/shader_fx/intern/FX_shader_shadow.c M source/blender/shader_fx/intern/FX_shader_swirl.c M source/blender/shader_fx/intern/FX_shader_wave.c =================================================================== diff --git a/source/blender/blenkernel/BKE_gpencil_modifier.h b/source/blender/blenkernel/BKE_gpencil_modifier.h index 3ade555b410..e003144047b 100644 --- a/source/blender/blenkernel/BKE_gpencil_modifier.h +++ b/source/blender/blenkernel/BKE_gpencil_modifier.h @@ -82,11 +82,6 @@ typedef enum { eGpencilModifierTypeFlag_NoApply = (1 << 6), } GpencilModifierTypeFlag; -/* IMPORTANT! Keep ObjectWalkFunc and IDWalkFunc signatures compatible. */ -typedef void (*GreasePencilObjectWalkFunc)(void *userData, - struct Object *ob, - struct Object **obpoin, - int cb_flag); typedef void (*GreasePencilIDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin, @@ -218,26 +213,13 @@ typedef struct GpencilModifierTypeInfo { */ bool (*dependsOnTime)(struct GpencilModifierData *md); - /** - * Should call the given walk function on with a pointer to each Object - * pointer that the modifier data stores. This is used for linking on file - * load and for unlinking objects or forwarding object references. - * - * This function is optional. - */ - void (*foreachObjectLink)(struct GpencilModifierData *md, - struct Object *ob, - GreasePencilObjectWalkFunc walk, - void *userData); - /** * Should call the given walk function with a pointer to each ID * pointer (i.e. each data-block pointer) that the modifier data * stores. This is used for linking on file load and for * unlinking data-blocks or forwarding data-block references. * - * This function is optional. If it is not present, foreachObjectLink - * will be used. + * This function is optional. */ void (*foreachIDLink)(struct GpencilModifierData *md, struct Object *ob, diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h index b9622f2179a..b2015c4e6d7 100644 --- a/source/blender/blenkernel/BKE_modifier.h +++ b/source/blender/blenkernel/BKE_modifier.h @@ -115,11 +115,6 @@ typedef enum { eModifierTypeFlag_AcceptsBMesh = (1 << 11), } ModifierTypeFlag; -/* IMPORTANT! Keep ObjectWalkFunc and IDWalkFunc signatures compatible. */ -typedef void (*ObjectWalkFunc)(void *userData, - struct Object *ob, - struct Object **obpoin, - int cb_flag); typedef void (*IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin, int cb_flag); typedef void (*TexWalkFunc)(void *userData, struct Object *ob, @@ -331,26 +326,13 @@ typedef struct ModifierTypeInfo { */ bool (*dependsOnNormals)(struct ModifierData *md); - /** - * Should call the given walk function on with a pointer to each Object - * pointer that the modifier data stores. This is used for linking on file - * load and for unlinking objects or forwarding object references. - * - * This function is optional. - */ - void (*foreachObjectLink)(struct ModifierData *md, - struct Object *ob, - ObjectWalkFunc walk, - void *userData); - /** * Should call the given walk function with a pointer to each ID * pointer (i.e. each data-block pointer) that the modifier data * stores. This is used for linking on file load and for * unlinking data-blocks or forwarding data-block references. * - * This function is optional. If it is not present, foreachObjectLink - * will be used. + * This function is optional. */ void (*foreachIDLink)(struct ModifierData *md, struct Object *ob, @@ -449,7 +431,6 @@ void BKE_modifier_set_error(struct ModifierData *md, const char *format, ...) ATTR_PRINTF_FORMAT(2, 3); bool BKE_modifier_is_preview(struct ModifierData *md); -void BKE_modifiers_foreach_object_link(struct Object *ob, ObjectWalkFunc walk, void *userData); void BKE_modifiers_foreach_ID_link(struct Object *ob, IDWalkFunc walk, void *userData); void BKE_modifiers_foreach_tex_link(struct Object *ob, TexWalkFunc walk, void *userData); diff --git a/source/blender/blenkernel/BKE_shader_fx.h b/source/blender/blenkernel/BKE_shader_fx.h index be57521a17c..da14487c1f4 100644 --- a/source/blender/blenkernel/BKE_shader_fx.h +++ b/source/blender/blenkernel/BKE_shader_fx.h @@ -62,11 +62,6 @@ typedef enum { eShaderFxTypeFlag_NoUserAdd = (1 << 5), } ShaderFxTypeFlag; -/* IMPORTANT! Keep ObjectWalkFunc and IDWalkFunc signatures compatible. */ -typedef void (*ShaderFxObjectWalkFunc)(void *userData, - struct Object *ob, - struct Object **obpoin, - int cb_flag); typedef void (*ShaderFxIDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin, @@ -134,24 +129,12 @@ typedef struct ShaderFxTypeInfo { */ bool (*dependsOnTime)(struct ShaderFxData *fx); - /* Should call the given walk function on with a pointer to each Object - * pointer that the effect data stores. This is used for linking on file - * load and for unlinking objects or forwarding object references. - * - * This function is optional. - */ - void (*foreachObjectLink)(struct ShaderFxData *fx, - struct Object *ob, - ShaderFxObjectWalkFunc walk, - void *userData); - /* Should call the given walk function with a pointer to each ID * pointer (i.e. each data-block pointer) that the effect data * stores. This is used for linking on file load and for * unlinking data-blocks or forwarding data-block references. * - * This function is optional. If it is not present, foreachObjectLink - * will be used. + * This function is optional. */ void (*foreachIDLink)(struct ShaderFxData *fx, struct Object *ob, diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c index bc74693bbb8..2eccdb872dd 100644 --- a/source/blender/blenkernel/intern/gpencil_modifier.c +++ b/source/blender/blenkernel/intern/gpencil_modifier.c @@ -333,10 +333,6 @@ void BKE_gpencil_modifier_free_ex(GpencilModifierData *md, const int flag) if (mti->foreachIDLink) { mti->foreachIDLink(md, NULL, modifier_free_data_id_us_cb, NULL); } - else if (mti->foreachObjectLink) { - mti->foreachObjectLink( - md, NULL, (GreasePencilObjectWalkFunc)modifier_free_data_id_us_cb, NULL); - } } if (mti->freeData) { @@ -473,10 +469,6 @@ void BKE_gpencil_modifier_copydata_ex(GpencilModifierData *md, if (mti->foreachIDLink) { mti->foreachIDLink(target, NULL, gpencil_modifier_copy_data_id_us_cb, NULL); } - else if (mti->foreachObjectLink) { - mti->foreachObjectLink( - target, NULL, (GreasePencilObjectWalkFunc)gpencil_modifier_copy_data_id_us_cb, NULL); - } } } @@ -544,11 +536,6 @@ void BKE_gpencil_modifiers_foreach_ID_link(Object *ob, GreasePencilIDWalkFunc wa if (mti->foreachIDLink) { mti->foreachIDLink(md, ob, walk, userData); } - else if (mti->foreachObjectLink) { - /* each Object can masquerade as an ID, so this should be OK */ - GreasePencilObjectWalkFunc fp = (GreasePencilObjectWalkFunc)walk; - mti->foreachObjectLink(md, ob, fp, userData); - } } } diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index 6185644f5a0..abf4fc82300 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -177,9 +177,6 @@ void BKE_modifier_free_ex(ModifierData *md, const int flag) if (mti->foreachIDLink) { mti->foreachIDLink(md, NULL, modifier_free_data_id_us_cb, NULL); } - else if (mti->foreachObjectLink) { - mti->foreachObjectLink(md, NULL, (ObjectWalkFunc)modifier_free_data_id_us_cb, NULL); - } } if (mti->freeData) { @@ -278,19 +275,6 @@ void BKE_modifiers_clear_errors(Object *ob) } } -void BKE_modifiers_foreach_object_link(Object *ob, ObjectWalkFunc walk, void *userData) -{ - ModifierData *md = ob->modifiers.first; - - for (; md; md = md->next) { - const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type); - - if (mti->foreachObjectLink) { - mti->foreachObjectLink(md, ob, walk, userData); - } - } -} - void BKE_modifiers_foreach_ID_link(Object *ob, IDWalkFunc walk, void *userData) { ModifierData *md = ob->modifiers.first; @@ -301,11 +285,6 @@ void BKE_modifiers_foreach_ID_link(Object *ob, IDWalkFunc walk, void *userData) if (mti->foreachIDLink) { mti->foreachIDLink(md, ob, walk, userData); } - else if (mti->foreachObjectLink) { - /* each Object can masquerade as an ID, so this should be OK */ - ObjectWalkFunc fp = (ObjectWalkFunc)walk; - mti->foreachObjectLink(md, ob, fp, userData); - } } } @@ -374,9 +353,6 @@ void BKE_modifier_copydata_ex(ModifierData *md, ModifierData *target, const int if (mti->foreachIDLink) { mti->foreachIDLink(target, NULL, modifier_copy_data_id_us_cb, NULL); } - else if (mti->foreachObjectLink) { - mti->foreachObjectLink(target, NULL, (ObjectWalkFunc)modifier_copy_data_id_us_cb, NULL); - } } if (flag & LIB_ID_CREATE_NO_MAIN) { diff --git a/source/blender/blenkernel/intern/shader_fx.c b/source/blender/blenkernel/intern/shader_fx.c index 4ad67a1dd32..f2cdf08b415 100644 --- a/source/blender/blenkernel/intern/shader_fx.c +++ b/source/blender/blenkernel/intern/shader_fx.c @@ -116,9 +116,6 @@ void BKE_shaderfx_free_ex(ShaderFxData *fx, const int flag) if (fxi->foreachIDLink) { fxi->foreachIDLink(fx, NULL, shaderfx_free_data_id_us_cb, NULL); } - else if (fxi->foreachObjectLink) { - fxi->foreachObjectLi @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list [email protected] https://lists.blender.org/mailman/listinfo/bf-blender-cvs
