diff options
Diffstat (limited to 'libxsde/xsde/cxx/hybrid/sequence.txx')
-rw-r--r-- | libxsde/xsde/cxx/hybrid/sequence.txx | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libxsde/xsde/cxx/hybrid/sequence.txx b/libxsde/xsde/cxx/hybrid/sequence.txx index 4fd3a85..b79e9d5 100644 --- a/libxsde/xsde/cxx/hybrid/sequence.txx +++ b/libxsde/xsde/cxx/hybrid/sequence.txx @@ -152,7 +152,17 @@ namespace xsde clear () { for (size_t i = 0; i < size_; ++i) - delete static_cast<T**> (data_)[i]; + { + T* x = static_cast<T**> (data_)[i]; + +#ifndef XSDE_CUSTOM_ALLOCATOR + delete x; +#else + if (x) + x->~T (); + cxx::free (x); +#endif + } size_ = 0; } |