summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/worker.h2
-rw-r--r--libs/ardour/lv2_plugin.cc1
-rw-r--r--libs/ardour/worker.cc2
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()