summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audiosource.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-03-21 10:14:01 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-03-21 10:14:01 -0400
commitd99b5dfa37c7248e24a0266188752dfa6c9bb3f6 (patch)
tree8a06cf8d3ce0c7d0ec25deb4f536ef24e1ccddc6 /libs/ardour/ardour/audiosource.h
parent027f0e156a4ed764b4a507b8bf81e0764ec0b6d2 (diff)
fix nasty crash when using double-nested compound (consolidated) regions caused by not (re)allocating enough mixdown buffers; fix up various warnings from valgrind about mismatching operator delete[] by using shared_array<T> rather than shared_ptr<T>, as should have been the case all along
Diffstat (limited to 'libs/ardour/ardour/audiosource.h')
-rw-r--r--libs/ardour/ardour/audiosource.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/ardour/ardour/audiosource.h b/libs/ardour/ardour/audiosource.h
index cbdcd296af..344541d945 100644
--- a/libs/ardour/ardour/audiosource.h
+++ b/libs/ardour/ardour/audiosource.h
@@ -21,6 +21,7 @@
#define __ardour_audio_source_h__
#include <boost/shared_ptr.hpp>
+#include <boost/shared_array.hpp>
#include <boost/enable_shared_from_this.hpp>
#include <time.h>
@@ -116,8 +117,8 @@ class AudioSource : virtual public Source,
thread, or a lock around calls that use them.
*/
- static std::vector<boost::shared_ptr<Sample> > _mixdown_buffers;
- static std::vector<boost::shared_ptr<gain_t> > _gain_buffers;
+ static std::vector<boost::shared_array<Sample> > _mixdown_buffers;
+ static std::vector<boost::shared_array<gain_t> > _gain_buffers;
static Glib::Threads::Mutex _level_buffer_lock;
static void ensure_buffers_for_level (uint32_t, framecnt_t);