diff options
author | Julian Eisel <julian@blender.org> | 2021-07-29 18:10:11 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2021-07-29 18:35:06 +0300 |
commit | 5be54cce3692ae590433b786d8007767e3727469 (patch) | |
tree | 9d1ea97d5c2bd931f6d0835c817b0aea2e83f6bd /source/blender/editors/asset | |
parent | b361b2f21488b99698e0964a919f20e91ad7838d (diff) |
Cleanup: Pass asset handle to asset iterator, rather than wrapped file
This iterator was introduced before `AssetHandle` existed, so it was
dealing with the file data directly. Now we want as little code as
possible to deal with the file data, all access should happen via the
`AssetHandle`.
Diffstat (limited to 'source/blender/editors/asset')
-rw-r--r-- | source/blender/editors/asset/ED_asset_list.hh | 2 | ||||
-rw-r--r-- | source/blender/editors/asset/intern/asset_list.cc | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/editors/asset/ED_asset_list.hh b/source/blender/editors/asset/ED_asset_list.hh index 7f41fba3457..fee34d929c2 100644 --- a/source/blender/editors/asset/ED_asset_list.hh +++ b/source/blender/editors/asset/ED_asset_list.hh @@ -34,5 +34,5 @@ std::string ED_assetlist_asset_filepath_get(const bContext *C, const AssetHandle &asset_handle); /* Can return false to stop iterating. */ -using AssetListIterFn = blender::FunctionRef<bool(FileDirEntry &)>; +using AssetListIterFn = blender::FunctionRef<bool(AssetHandle)>; void ED_assetlist_iterate(const AssetLibraryReference *library_reference, AssetListIterFn fn); diff --git a/source/blender/editors/asset/intern/asset_list.cc b/source/blender/editors/asset/intern/asset_list.cc index 445269d563e..d94a2bbf438 100644 --- a/source/blender/editors/asset/intern/asset_list.cc +++ b/source/blender/editors/asset/intern/asset_list.cc @@ -215,7 +215,13 @@ void AssetList::iterate(AssetListIterFn fn) const for (int i = 0; i < numfiles; i++) { FileDirEntry *file = filelist_file(files, i); - if (!fn(*file)) { + if ((file->typeflag & FILE_TYPE_ASSET) == 0) { + continue; + } + + AssetHandle asset_handle = {file}; + if (!fn(asset_handle)) { + /* If the callback returns false, we stop iterating. */ break; } } |