--- a/src/sprite.c Tue May 06 23:04:54 2025 +0200 +++ b/src/sprite.c Sat May 10 15:06:47 2025 +0200 @@ -32,10 +32,8 @@ #include <GL/glew.h> -static void asc_sprite_free(AscSceneNode *node) { - AscSprite *sprite = (AscSprite *) node; - sprite->texture->refcount--; - free(node); +static void asc_sprite_destroy(AscSceneNode *node) { + ((AscSprite *) node)->texture->refcount--; } AscSceneNode *asc_sprite_create(struct asc_sprite_create_args args) { @@ -50,7 +48,7 @@ node->render_group = args.opaque ? ASC_RENDER_GROUP_SPRITE_OPAQUE : ASC_RENDER_GROUP_SPRITE_BLEND; - node->free_func = asc_sprite_free; + node->destroy_func = asc_sprite_destroy; node->position = asc_vec3f_new(args.x, args.y, ASC_SCENE_2D_DEPTH_OFFSET); node->scale = asc_vec3f_new(