diff options
-rw-r--r-- | libs/ardour/ardour/worker.h | 2 | ||||
-rw-r--r-- | libs/ardour/lv2_plugin.cc | 1 | ||||
-rw-r--r-- | libs/ardour/worker.cc | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/libs/ardour/ardour/worker.h b/libs/ardour/ardour/worker.h index fe278b9618..cdc3d1d06d 100644 --- a/libs/ardour/ardour/worker.h +++ b/libs/ardour/ardour/worker.h @@ -77,12 +77,12 @@ private: void run(); Workee* _workee; - Glib::Threads::Thread* _thread; RingBuffer<uint8_t>* _requests; RingBuffer<uint8_t>* _responses; uint8_t* _response; PBD::Semaphore _sem; bool _exit; + Glib::Threads::Thread* _thread; }; } // namespace ARDOUR diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc index 4c2202f230..2dc42a321f 100644 --- a/libs/ardour/lv2_plugin.cc +++ b/libs/ardour/lv2_plugin.cc @@ -560,6 +560,7 @@ LV2Plugin::~LV2Plugin () delete _to_ui; delete _from_ui; + delete _worker; delete [] _control_data; delete [] _shadow_data; diff --git a/libs/ardour/worker.cc b/libs/ardour/worker.cc index 290689f13c..67c72ffeba 100644 --- a/libs/ardour/worker.cc +++ b/libs/ardour/worker.cc @@ -26,12 +26,12 @@ namespace ARDOUR { Worker::Worker(Workee* workee, uint32_t ring_size) : _workee(workee) - , _thread (Glib::Threads::Thread::create(sigc::mem_fun(*this, &Worker::run))) , _requests(new RingBuffer<uint8_t>(ring_size)) , _responses(new RingBuffer<uint8_t>(ring_size)) , _response((uint8_t*)malloc(ring_size)) , _sem(0) , _exit(false) + , _thread (Glib::Threads::Thread::create(sigc::mem_fun(*this, &Worker::run))) {} Worker::~Worker() |