[Bf-blender-cvs] [0af08cea409] master: Cleanup: Use asset utility function to get the asset .blend path
Julian Eisel
noreply at git.blender.org
Tue Jul 20 21:50:35 CEST 2021
Commit: 0af08cea40964b69a48a2be773aeb22304d2b46f
Author: Julian Eisel
Date: Tue Jul 20 21:18:10 2021 +0200
Branches: master
https://developer.blender.org/rB0af08cea40964b69a48a2be773aeb22304d2b46f
Cleanup: Use asset utility function to get the asset .blend path
For this to work, the utility function needs to be callable without
context, which is only needed for a File Browser specific hack anyway
(doesn't apply to this usage of it).
===================================================================
M source/blender/editors/asset/asset_list.cc
M source/blender/editors/interface/interface_template_asset_view.cc
===================================================================
diff --git a/source/blender/editors/asset/asset_list.cc b/source/blender/editors/asset/asset_list.cc
index 3095239b711..e610a1dfbcd 100644
--- a/source/blender/editors/asset/asset_list.cc
+++ b/source/blender/editors/asset/asset_list.cc
@@ -500,7 +500,7 @@ std::string ED_assetlist_asset_filepath_get(const bContext *C,
return {};
}
const char *library_path = ED_assetlist_library_path(&library_reference);
- if (!library_path) {
+ if (!library_path && C) {
library_path = assetlist_library_path_from_sfile_get_hack(C);
}
if (!library_path) {
diff --git a/source/blender/editors/interface/interface_template_asset_view.cc b/source/blender/editors/interface/interface_template_asset_view.cc
index 1d8420718bb..6fa5300401a 100644
--- a/source/blender/editors/interface/interface_template_asset_view.cc
+++ b/source/blender/editors/interface/interface_template_asset_view.cc
@@ -58,12 +58,10 @@ static void asset_view_item_but_drag_set(uiBut *but,
return;
}
- const blender::StringRef asset_list_path = ED_assetlist_library_path(&list_data->asset_library);
char blend_path[FILE_MAX_LIBEXTRA];
+ ED_asset_handle_get_full_library_path(NULL, &list_data->asset_library, asset_handle, blend_path);
- char path[FILE_MAX_LIBEXTRA];
- BLI_join_dirfile(path, sizeof(path), asset_list_path.data(), asset_handle->file_data->relpath);
- if (BLO_library_path_explode(path, blend_path, nullptr, nullptr)) {
+ if (blend_path[0]) {
ImBuf *imbuf = ED_assetlist_asset_image_get(asset_handle);
UI_but_drag_set_asset(but,
asset_handle->file_data->name,
More information about the Bf-blender-cvs
mailing list