diff options
author | Robin Gareus <robin@gareus.org> | 2016-12-14 00:51:40 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-12-14 00:51:40 +0100 |
commit | 112fba182fb4d2ab05a8fa12efdf515684182dca (patch) | |
tree | 20a81deab981d9ef52d4450b821119aa63afe56e /libs/pbd | |
parent | fa07233a17036bc1cab69d5854b5c768ff762f5b (diff) |
amend prev commit
Diffstat (limited to 'libs/pbd')
-rw-r--r-- | libs/pbd/pbd/abstract_ui.cc | 6 |
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 |