diff options
author | Tavian Barnes <tavianator@gmail.com> | 2009-10-19 00:49:24 +0000 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2009-10-19 00:49:24 +0000 |
commit | 8710689500d3d35d04aabd727f12698590a816cb (patch) | |
tree | 02d69e8d47c584faff6b7b2622adb69699886078 /libdimension | |
parent | 19b06b1485a87a773d3f1ce897f6a00a22e6243d (diff) | |
download | dimension-8710689500d3d35d04aabd727f12698590a816cb.tar.xz |
Improve garbage handling of dmnsn_delete_object().
Diffstat (limited to 'libdimension')
-rw-r--r-- | libdimension/object.c | 1 | ||||
-rw-r--r-- | libdimension/texture.c | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/libdimension/object.c b/libdimension/object.c index f10d53d..18d7adb 100644 --- a/libdimension/object.c +++ b/libdimension/object.c @@ -57,6 +57,7 @@ void dmnsn_delete_object(dmnsn_object *object) { if (object) { + dmnsn_delete_texture(object->texture); if (object->free_fn) { (*object->free_fn)(object->ptr); } diff --git a/libdimension/texture.c b/libdimension/texture.c index f232cbc..a5ebd90 100644 --- a/libdimension/texture.c +++ b/libdimension/texture.c @@ -54,5 +54,8 @@ dmnsn_new_texture() void dmnsn_delete_texture(dmnsn_texture *texture) { - free(texture); + if (texture) { + dmnsn_delete_pigment(texture->pigment); + free(texture); + } } |