[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