summaryrefslogtreecommitdiff
path: root/libs/pbd/pbd
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-12-14 17:31:31 +0100
committerRobin Gareus <robin@gareus.org>2016-12-14 17:31:31 +0100
commit036390f4c2a3fa69b743b43d4d3338a960f5ff57 (patch)
treea472d0496f9a4df57f611f7697ca792e2b3319f9 /libs/pbd/pbd
parent7a1ff7ce8f9bf21ec3364fd82cbb5c52789da5cd (diff)
fix potential invalid lock
Diffstat (limited to 'libs/pbd/pbd')
-rw-r--r--libs/pbd/pbd/abstract_ui.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/libs/pbd/pbd/abstract_ui.cc b/libs/pbd/pbd/abstract_ui.cc
index de480e13bc..d37b3e2f74 100644
--- a/libs/pbd/pbd/abstract_ui.cc
+++ b/libs/pbd/pbd/abstract_ui.cc
@@ -239,15 +239,14 @@ AbstractUI<RequestObject>::handle_ui_requests ()
rbml.acquire ();
if (vec.buf[0]->invalidation) {
DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: removing invalidation record for that request\n", event_loop_name()));
- Glib::Threads::Mutex::Lock li (vec.buf[0]->invalidation->event_loop->slot_invalidation_mutex(), Glib::Threads::NOT_LOCK);
if (vec.buf[0]->invalidation->event_loop && vec.buf[0]->invalidation->event_loop != this) {
- li.acquire ();
+ vec.buf[0]->invalidation->event_loop->slot_invalidation_mutex().lock ();
}
//if (!(*i).second->dead) {
vec.buf[0]->invalidation->requests.remove (vec.buf[0]);
//}
if (vec.buf[0]->invalidation->event_loop && vec.buf[0]->invalidation->event_loop != this) {
- li.release ();
+ vec.buf[0]->invalidation->event_loop->slot_invalidation_mutex().unlock ();
}
} else {
DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: no invalidation record for that request\n", event_loop_name()));