summaryrefslogtreecommitdiff
path: root/libs/pbd
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-12-14 00:51:40 +0100
committerRobin Gareus <robin@gareus.org>2016-12-14 00:51:40 +0100
commit112fba182fb4d2ab05a8fa12efdf515684182dca (patch)
tree20a81deab981d9ef52d4450b821119aa63afe56e /libs/pbd
parentfa07233a17036bc1cab69d5854b5c768ff762f5b (diff)
amend prev commit
Diffstat (limited to 'libs/pbd')
-rw-r--r--libs/pbd/pbd/abstract_ui.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/pbd/pbd/abstract_ui.cc b/libs/pbd/pbd/abstract_ui.cc
index ed358cb7cf..152023f1d4 100644
--- a/libs/pbd/pbd/abstract_ui.cc
+++ b/libs/pbd/pbd/abstract_ui.cc
@@ -307,8 +307,10 @@ AbstractUI<RequestObject>::handle_ui_requests ()
if (req->invalidation) {
DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1/%2 remove request from its invalidation list\n", event_loop_name(), pthread_name()));
- assert (req->invalidation->event_loop && req->invalidation->event_loop != this);
- Glib::Threads::Mutex::Lock lm (req->invalidation->event_loop->request_invalidation_mutex());
+ Glib::Threads::Mutex::Lock lm (req->invalidation->event_loop->request_invalidation_mutex(), Glib::Threads::NOT_LOCK);
+ if (req->invalidation->event_loop && req->invalidation->event_loop != this) {
+ lm.acquire ();
+ }
/* after this call, if the object referenced by the
* invalidation record is deleted, it will no longer