]> git.mxchange.org Git - simgear.git/blobdiff - simgear/structure/SGReferenced.hxx
Add virtual destructor to SGReferenced.
[simgear.git] / simgear / structure / SGReferenced.hxx
index 6bce1eb82bd83da9e4fce1d88e37c414340baf91..343d4c4c0ee14df8af0f6b6c1fd7917a5f5c1f1d 100644 (file)
 
 #ifndef SGReferenced_HXX
 #define SGReferenced_HXX
-#define USE_OPENTHREADS_ATOMIC
 
-#ifndef USE_OPENTHREADS_ATOMIC
 #include "SGAtomic.hxx"
-#else
-#include <OpenThreads/Atomic>
-#endif
 
 /// Base class for all reference counted SimGear objects
 /// Classes derived from this one are meant to be managed with
@@ -37,6 +32,8 @@ class SGReferenced {
 public:
   SGReferenced(void) : _refcount(0u)
   {}
+  virtual ~SGReferenced()
+  {}
   /// Do not copy reference counts. Each new object has it's own counter
   SGReferenced(const SGReferenced&) : _refcount(0u)
   {}
@@ -54,11 +51,7 @@ public:
   { if (ref) return 1u < ref->_refcount; else return false; }
 
 private:
-#ifndef USE_OPENTHREADS_ATOMIC
   mutable SGAtomic _refcount;
-#else
-  mutable OpenThreads::Atomic _refcount;
-#endif
 };
 
 #endif