From 112fba182fb4d2ab05a8fa12efdf515684182dca Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 14 Dec 2016 00:51:40 +0100 Subject: [PATCH] amend prev commit --- libs/pbd/pbd/abstract_ui.cc | 6 ++++-- 1 file 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::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