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 <b.mont29@gmail.com>2020-02-13 14:56:10 +0300
committerBastien Montagne <b.mont29@gmail.com>2020-02-13 18:23:42 +0300
commitf28bb6992fa9773fb1e7918d569f4c88427f4c96 (patch)
treee69240c9ab26ba00bf4ca1f54636e4e837b8f465 /source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
parent0d750d7c064bbb1e1fb5fe2ae14a8496863a890b (diff)
Refactor libquery ID looper callback to take a single parameter.
Using a struct here allows to change given parameters to the callbacks without having to edit all callbacks functions, which is always noisy and time consuming.
Diffstat (limited to 'source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc')
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc16
1 files changed, 9 insertions, 7 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
index c2222bfcbce..edb02ee331f 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
@@ -513,12 +513,15 @@ struct RemapCallbackUserData {
bool create_placeholders;
};
-int foreach_libblock_remap_callback(void *user_data_v, ID *id_self, ID **id_p, int /*cb_flag*/)
+int foreach_libblock_remap_callback(LibraryIDLinkCallbackData *cb_data)
{
+ ID **id_p = cb_data->id_pointer;
if (*id_p == nullptr) {
return IDWALK_RET_NOP;
}
- RemapCallbackUserData *user_data = (RemapCallbackUserData *)user_data_v;
+
+ ID *id_self = cb_data->id_self;
+ RemapCallbackUserData *user_data = (RemapCallbackUserData *)cb_data->user_data;
const Depsgraph *depsgraph = user_data->depsgraph;
ID *id_orig = *id_p;
if (deg_copy_on_write_is_needed(id_orig)) {
@@ -813,12 +816,11 @@ void update_id_after_copy(const Depsgraph *depsgraph,
/* This callback is used to validate that all nested ID data-blocks are
* properly expanded. */
-int foreach_libblock_validate_callback(void *user_data,
- ID * /*id_self*/,
- ID **id_p,
- int /*cb_flag*/)
+int foreach_libblock_validate_callback(LibraryIDLinkCallbackData *cb_data)
{
- ValidateData *data = (ValidateData *)user_data;
+ ValidateData *data = (ValidateData *)cb_data->user_data;
+ ID **id_p = cb_data->id_pointer;
+
if (*id_p != nullptr) {
if (!check_datablock_expanded(*id_p)) {
data->is_valid = false;