45 static_assert(std::is_trivial_v<RegionAssetShelf>,
46 "RegionAssetShelf needs to be trivial to allow freeing with MEM_freeN()");
48 *new_shelf_regiondata = *shelf_regiondata;
52 AssetShelf *new_shelf = MEM_new<AssetShelf>(
"duplicate asset shelf",
53 blender::dna::shallow_copy(*
shelf));
61 return new_shelf_regiondata;
83 if (!*shelf_regiondata) {
88 if ((*shelf_regiondata)->active_shelf) {
94 shelf->type =
nullptr;
#define BLI_assert_unreachable()
#define LISTBASE_FOREACH(type, var, list)
BLI_INLINE void BLI_listbase_clear(ListBase *lb)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
void BLI_addtail(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define BLO_write_struct(writer, struct_name, data_ptr)
#define BLO_read_struct_list(reader, struct_name, list)
#define BLO_read_struct(reader, struct_name, ptr_p)
struct RegionAssetShelf RegionAssetShelf
void * MEM_callocN(size_t len, const char *str)
void MEM_freeN(void *vmemh)
void settings_blend_read_data(BlendDataReader *reader, AssetShelfSettings &settings)
void regiondata_free(RegionAssetShelf *shelf_regiondata)
void regiondata_blend_write(BlendWriter *writer, const RegionAssetShelf *shelf_regiondata)
void settings_blend_write(BlendWriter *writer, const AssetShelfSettings &settings)
void regiondata_blend_read_data(BlendDataReader *reader, RegionAssetShelf **shelf_regiondata)
RegionAssetShelf * regiondata_duplicate(const RegionAssetShelf *shelf_regiondata)
AssetShelfSettings settings
AssetShelf * active_shelf