[Bf-blender-cvs] [5186c9c9c65] temp-asset-library-all: Merge remote-tracking branch 'origin/master' into temp-asset-library-all
Julian Eisel
noreply at git.blender.org
Fri Dec 2 16:20:38 CET 2022
Commit: 5186c9c9c65c8b78b6c395442d3d53c9539b66b4
Author: Julian Eisel
Date: Fri Dec 2 16:20:28 2022 +0100
Branches: temp-asset-library-all
https://developer.blender.org/rB5186c9c9c65c8b78b6c395442d3d53c9539b66b4
Merge remote-tracking branch 'origin/master' into temp-asset-library-all
===================================================================
===================================================================
diff --cc source/blender/editors/space_file/filelist.cc
index 9d1191ad80e,bf0f9c865a8..ca83ff6d51b
--- a/source/blender/editors/space_file/filelist.cc
+++ b/source/blender/editors/space_file/filelist.cc
@@@ -3125,13 -3104,17 +3125,17 @@@ static void filelist_readjob_list_lib_a
if (datablock_info->asset_data) {
entry->typeflag |= FILE_TYPE_ASSET;
- if (job_params->load_asset_library) {
- /** XXX Moving out the asset metadata like this isn't great. */
- std::unique_ptr metadata = BKE_asset_metadata_move_to_unique_ptr(
- datablock_info->asset_data);
- BKE_asset_metadata_free(&datablock_info->asset_data);
- if (filelist->asset_library) {
++ if (job_params->asset_library) {
+ /* Take ownership over the asset data (shallow copies into unique_ptr managed memory) to
+ * pass it on to the asset system. */
+ std::unique_ptr metadata = std::make_unique<AssetMetaData>(*datablock_info->asset_data);
+ MEM_freeN(datablock_info->asset_data);
+ /* Give back a non-owning pointer, because the data-block info is still needed (e.g. to
+ * update the asset index). */
+ datablock_info->asset_data = metadata.get();
+ datablock_info->free_asset_data = false;
- entry->asset = &filelist->asset_library->add_external_asset(
+ entry->asset = &job_params->load_asset_library->add_external_asset(
entry->relpath, datablock_info->name, std::move(metadata));
}
}
More information about the Bf-blender-cvs
mailing list