summaryrefslogtreecommitdiffstats
path: root/libdimensionxx/camera.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/camera.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/camera.cpp')
-rw-r--r--libdimensionxx/camera.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/libdimensionxx/camera.cpp b/libdimensionxx/camera.cpp
index b44173c..5786055 100644
--- a/libdimensionxx/camera.cpp
+++ b/libdimensionxx/camera.cpp
@@ -22,9 +22,13 @@
namespace Dimension
{
- // Virtual no-op destructor
+ // Virtual destructor
Camera::~Camera()
- { }
+ {
+ if (unique()) {
+ dmnsn_delete_camera(dmnsn());
+ }
+ }
// Return the result of the dmnsn_camera*'s ray callback
Line