diff options
author | Bastien Montagne <bastien@blender.org> | 2020-05-12 19:03:42 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-05-12 19:54:57 +0300 |
commit | b1b93c2ef19528b1ab6b564c5b97e1c0f05393cb (patch) | |
tree | 67a7e22c681fb7bbbe698acd3ada5db315786176 | |
parent | ef6610dec599ac1788745206bd1b3055d26ae128 (diff) |
Refactor: Move metaball foreach_id to new IDTypeInfo structure.
-rw-r--r-- | source/blender/blenkernel/intern/lib_query.c | 5 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mball.c | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/lib_query.c b/source/blender/blenkernel/intern/lib_query.c index c87af1e8bdd..3859c88bba1 100644 --- a/source/blender/blenkernel/intern/lib_query.c +++ b/source/blender/blenkernel/intern/lib_query.c @@ -922,10 +922,7 @@ static void library_foreach_ID_link(Main *bmain, } case ID_MB: { - MetaBall *metaball = (MetaBall *)id; - for (i = 0; i < metaball->totcol; i++) { - CALLBACK_INVOKE(metaball->mat[i], IDWALK_CB_USER); - } + BLI_assert(0); break; } diff --git a/source/blender/blenkernel/intern/mball.c b/source/blender/blenkernel/intern/mball.c index 4294d279c36..94e5f435a43 100644 --- a/source/blender/blenkernel/intern/mball.c +++ b/source/blender/blenkernel/intern/mball.c @@ -54,6 +54,7 @@ #include "BKE_displist.h" #include "BKE_idtype.h" #include "BKE_lib_id.h" +#include "BKE_lib_query.h" #include "BKE_material.h" #include "BKE_mball.h" #include "BKE_object.h" @@ -101,6 +102,14 @@ static void metaball_free_data(ID *id) } } +static void metaball_foreach_id(ID *id, LibraryForeachIDData *data) +{ + MetaBall *metaball = (MetaBall *)id; + for (int i = 0; i < metaball->totcol; i++) { + BKE_LIB_FOREACHID_PROCESS(data, metaball->mat[i], IDWALK_CB_USER); + } +} + IDTypeInfo IDType_ID_MB = { .id_code = ID_MB, .id_filter = FILTER_ID_MB, @@ -115,6 +124,7 @@ IDTypeInfo IDType_ID_MB = { .copy_data = metaball_copy_data, .free_data = metaball_free_data, .make_local = NULL, + .foreach_id = metaball_foreach_id, }; /* Functions */ |