WIP: Brush assets project #106303
|
@ -125,13 +125,12 @@ TEST_F(AssetRepresentationTest, weak_reference__compare)
|
|||
asset_library_root_);
|
||||
AssetRepresentation &asset = add_dummy_asset(*library, "path/to/an/asset");
|
||||
|
||||
AssetWeakReference *weak_ref = asset.make_weak_reference();
|
||||
AssetWeakReference weak_ref = asset.make_weak_reference();
|
||||
AssetWeakReference other;
|
||||
other.asset_library_type = ASSET_LIBRARY_CUSTOM;
|
||||
other.asset_library_identifier = "My custom lib";
|
||||
other.relative_asset_identifier = "path/to/an/asset";
|
||||
EXPECT_EQ(*weak_ref, other);
|
||||
BKE_asset_weak_reference_free(&weak_ref);
|
||||
EXPECT_EQ(weak_ref, other);
|
||||
|
||||
/* Make the destructor work. */
|
||||
other.asset_library_identifier = nullptr;
|
||||
|
|
|
@ -30,6 +30,13 @@ AssetWeakReference::AssetWeakReference()
|
|||
{
|
||||
}
|
||||
|
||||
AssetWeakReference::AssetWeakReference(const AssetWeakReference &other)
|
||||
: asset_library_type(other.asset_library_type),
|
||||
asset_library_identifier(BLI_strdup_null(other.asset_library_identifier)),
|
||||
relative_asset_identifier(BLI_strdup_null(other.relative_asset_identifier))
|
||||
{
|
||||
}
|
||||
|
||||
AssetWeakReference::AssetWeakReference(AssetWeakReference &&other)
|
||||
: asset_library_type(other.asset_library_type),
|
||||
asset_library_identifier(other.asset_library_identifier),
|
||||
|
|
|
@ -740,6 +740,7 @@ void BKE_paint_brush_asset_restore(Main *bmain, Paint *paint)
|
|||
|
||||
AssetWeakReference weak_ref = std::move(*paint->brush_asset_reference);
|
||||
MEM_delete(paint->brush_asset_reference);
|
||||
paint->brush_asset_reference = nullptr;
|
||||
|
||||
Brush *brush_asset = BKE_brush_asset_runtime_ensure(bmain, weak_ref);
|
||||
|
||||
|
|
|
@ -178,10 +178,10 @@ typedef struct AssetWeakReference {
|
|||
|
||||
#ifdef __cplusplus
|
||||
AssetWeakReference();
|
||||
AssetWeakReference(const AssetWeakReference &);
|
||||
AssetWeakReference(AssetWeakReference &&);
|
||||
AssetWeakReference(const AssetWeakReference &) = delete;
|
||||
~AssetWeakReference();
|
||||
AssetWeakReference &operator=(AssetWeakReference &&);
|
||||
~AssetWeakReference();
|
||||
|
||||
bool operator==(const AssetWeakReference &other) const;
|
||||
bool operator!=(const AssetWeakReference &other) const;
|
||||
|
|
Loading…
Reference in New Issue