summaryrefslogtreecommitdiff
path: root/libs/pbd/event_loop.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-01-20 13:46:11 +0100
committerRobin Gareus <robin@gareus.org>2017-01-20 13:54:03 +0100
commit8f8d0a70d8a271d754f2a7f5f2cc9a4b38b6a3b0 (patch)
treeb17762d0a796d972fbbc441fc84ecc4a37813df8 /libs/pbd/event_loop.cc
parentfbae5f5ffda189d178c3e06407f6e17decc7f18e (diff)
Reap invalidation records
Diffstat (limited to 'libs/pbd/event_loop.cc')
-rw-r--r--libs/pbd/event_loop.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/pbd/event_loop.cc b/libs/pbd/event_loop.cc
index f72255dd72..e003a8d37a 100644
--- a/libs/pbd/event_loop.cc
+++ b/libs/pbd/event_loop.cc
@@ -45,6 +45,18 @@ EventLoop::EventLoop (string const& name)
{
}
+EventLoop::~EventLoop ()
+{
+ trash.sort();
+ trash.unique();
+ for (std::list<InvalidationRecord*>::iterator r = trash.begin(); r != trash.end(); ++r) {
+ if (!(*r)->in_use ()) {
+ delete *r;
+ }
+ }
+ trash.clear ();
+}
+
EventLoop*
EventLoop::get_event_loop_for_thread()
{