mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-04 04:39:33 +01:00
release locks before deleting record
This commit is contained in:
parent
112fba182f
commit
dd525d1613
1 changed files with 11 additions and 8 deletions
|
|
@ -86,17 +86,20 @@ EventLoop::invalidate_request (void* data)
|
|||
* inherit (indirectly) from sigc::trackable.
|
||||
*/
|
||||
|
||||
if (ir->event_loop) {
|
||||
Glib::Threads::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex());
|
||||
Glib::Threads::Mutex::Lock lr (ir->event_loop->request_invalidation_mutex());
|
||||
for (list<BaseRequestObject*>::iterator i = ir->requests.begin(); i != ir->requests.end(); ++i) {
|
||||
(*i)->valid = false;
|
||||
(*i)->invalidation = 0;
|
||||
if (ir->event_loop) {
|
||||
{
|
||||
Glib::Threads::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex());
|
||||
Glib::Threads::Mutex::Lock lr (ir->event_loop->request_invalidation_mutex());
|
||||
for (list<BaseRequestObject*>::iterator i = ir->requests.begin(); i != ir->requests.end(); ++i) {
|
||||
(*i)->valid = false;
|
||||
(*i)->invalidation = 0;
|
||||
}
|
||||
}
|
||||
// should this not always be deleted, regardless if there's an event_loop?
|
||||
delete ir;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
vector<EventLoop::ThreadBufferMapping>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue