X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fpbd%2Fevent_loop.cc;h=67fa6cf49a5c132ecacbd9aca1ced2b60b8bdfc5;hb=8fcf7e6a0785556602df0502a4c02707a432f0b6;hp=e95a938d63d65c7d1fe1bd998a76618a4931c82e;hpb=f14a33e492ee45599fcb20087bdd32a1698a6803;p=ardour.git diff --git a/libs/pbd/event_loop.cc b/libs/pbd/event_loop.cc index e95a938d63..67fa6cf49a 100644 --- a/libs/pbd/event_loop.cc +++ b/libs/pbd/event_loop.cc @@ -29,21 +29,12 @@ EventLoop::invalidate_request (void* data) InvalidationRecord* ir = (InvalidationRecord*) data; if (ir->event_loop) { - Glib::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex()); - if (ir->request) { - cerr << "Object deleted had outstanding event loop request, IR created @ " - << ir->file << ':' << ir->line - << endl; - ir->request->valid = false; - ir->request->invalidation = 0; - } else { - cerr << "No queued request associated with object deletion from " - << ir->file << ':' << ir->line - << endl; - - } - - delete ir; + Glib::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex()); + for (list::iterator i = ir->requests.begin(); i != ir->requests.end(); ++i) { + (*i)->valid = false; + (*i)->invalidation = 0; + } + delete ir; } return 0;