summaryrefslogtreecommitdiff
path: root/libs/pbd/pbd/abstract_ui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-12-14 17:48:44 +0100
committerRobin Gareus <robin@gareus.org>2016-12-14 17:48:44 +0100
commit518c31eeb76249b59de896f456ad4c78459a6a73 (patch)
treeeaa90eab556003a5ad725abf388d2e1c218156cb /libs/pbd/pbd/abstract_ui.cc
parent036390f4c2a3fa69b743b43d4d3338a960f5ff57 (diff)
skip dead threads (if the event remains, it'll be cleaned up below)
Diffstat (limited to 'libs/pbd/pbd/abstract_ui.cc')
-rw-r--r--libs/pbd/pbd/abstract_ui.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/libs/pbd/pbd/abstract_ui.cc b/libs/pbd/pbd/abstract_ui.cc
index d37b3e2f74..7fdb213ad0 100644
--- a/libs/pbd/pbd/abstract_ui.cc
+++ b/libs/pbd/pbd/abstract_ui.cc
@@ -237,14 +237,12 @@ AbstractUI<RequestObject>::handle_ui_requests ()
}
rbml.acquire ();
- if (vec.buf[0]->invalidation) {
+ if (vec.buf[0]->invalidation && !(*i).second->dead) {
DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: removing invalidation record for that request\n", event_loop_name()));
if (vec.buf[0]->invalidation->event_loop && vec.buf[0]->invalidation->event_loop != this) {
vec.buf[0]->invalidation->event_loop->slot_invalidation_mutex().lock ();
}
- //if (!(*i).second->dead) {
- vec.buf[0]->invalidation->requests.remove (vec.buf[0]);
- //}
+ vec.buf[0]->invalidation->requests.remove (vec.buf[0]);
if (vec.buf[0]->invalidation->event_loop && vec.buf[0]->invalidation->event_loop != this) {
vec.buf[0]->invalidation->event_loop->slot_invalidation_mutex().unlock ();
}