summaryrefslogtreecommitdiffstats
path: root/libdimensionxx/object.cpp
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2009-07-16 01:16:09 +0000
committerTavian Barnes <tavianator@gmail.com>2009-07-16 01:16:09 +0000
commit8f01c5394dcce8f5d4e7102dacfcdea9d1f7b021 (patch)
tree4092a281882e34ac53ec15d582dcbf2cb0d408c0 /libdimensionxx/object.cpp
parent1928016fe7aa439d4bfb61d3a7e7b7399ca7a229 (diff)
downloaddimension-8f01c5394dcce8f5d4e7102dacfcdea9d1f7b021.tar.xz
Add destructor callbacks for polymorphic C types, and use their base
dmnsn_delete_*() function.
Diffstat (limited to 'libdimensionxx/object.cpp')
-rw-r--r--libdimensionxx/object.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/libdimensionxx/object.cpp b/libdimensionxx/object.cpp
index e5384db..9c28e22 100644
--- a/libdimensionxx/object.cpp
+++ b/libdimensionxx/object.cpp
@@ -22,9 +22,13 @@
namespace Dimension
{
- // Virtual no-op destructor
+ // Virtual destructor
Object::~Object()
- { }
+ {
+ if (unique()) {
+ dmnsn_delete_object(dmnsn());
+ }
+ }
// Get the transformation matrix
Matrix