diff options
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc | 16 |
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; |