[c] Closes #2394, double free of sequences in mesh attachments.

This commit is contained in:
Mario Zechner 2023-10-11 11:44:36 +02:00
parent f854579239
commit 087b2688db
3 changed files with 7 additions and 10 deletions

View File

@ -43,7 +43,6 @@ void _spMeshAttachment_dispose(spAttachment *attachment) {
FREE(self->edges); FREE(self->edges);
} else } else
_spAttachment_deinit(attachment); _spAttachment_deinit(attachment);
if (self->sequence) FREE(self->sequence);
FREE(self); FREE(self);
} }

View File

@ -87,7 +87,7 @@ export class SpineCanvas {
update: () => { }, update: () => { },
render: () => { }, render: () => { },
error: () => { }, error: () => { },
dispose: () => { }, dispose: () => { },
} }
if (config.webglConfig) config.webglConfig = { alpha: true }; if (config.webglConfig) config.webglConfig = { alpha: true };
@ -131,7 +131,7 @@ export class SpineCanvas {
} }
/** Disposes the app, so the update() and render() functions are no longer called. Calls the dispose() callback.*/ /** Disposes the app, so the update() and render() functions are no longer called. Calls the dispose() callback.*/
dispose() { dispose () {
if (this.config.app.dispose) this.config.app.dispose(this); if (this.config.app.dispose) this.config.app.dispose(this);
this.disposed = true; this.disposed = true;
} }

View File

@ -32,19 +32,17 @@
#include "SpineAtlasAsset.h" #include "SpineAtlasAsset.h"
#include "SpineSkeletonDataAsset.h" #include "SpineSkeletonDataAsset.h"
class FSpineAtlasAssetTypeActions : public FAssetTypeActions_Base class FSpineAtlasAssetTypeActions : public FAssetTypeActions_Base {
{
public: public:
UClass* GetSupportedClass() const override { return USpineAtlasAsset::StaticClass(); }; UClass *GetSupportedClass() const override { return USpineAtlasAsset::StaticClass(); };
FText GetName() const override { return INVTEXT("Spine atlas asset"); }; FText GetName() const override { return INVTEXT("Spine atlas asset"); };
FColor GetTypeColor() const override { return FColor::Red; }; FColor GetTypeColor() const override { return FColor::Red; };
uint32 GetCategories() override { return EAssetTypeCategories::Misc; }; uint32 GetCategories() override { return EAssetTypeCategories::Misc; };
}; };
class FSpineSkeletonDataAssetTypeActions : public FAssetTypeActions_Base class FSpineSkeletonDataAssetTypeActions : public FAssetTypeActions_Base {
{
public: public:
UClass* GetSupportedClass() const override { return USpineSkeletonDataAsset::StaticClass(); }; UClass *GetSupportedClass() const override { return USpineSkeletonDataAsset::StaticClass(); };
FText GetName() const override { return INVTEXT("Spine data asset"); }; FText GetName() const override { return INVTEXT("Spine data asset"); };
FColor GetTypeColor() const override { return FColor::Red; }; FColor GetTypeColor() const override { return FColor::Red; };
uint32 GetCategories() override { return EAssetTypeCategories::Misc; }; uint32 GetCategories() override { return EAssetTypeCategories::Misc; };