diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-10-25 20:11:42 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-10-25 20:11:42 +0000 |
commit | bcd511aa3fec59e1527c8b7ab80dabda4db1a6f9 (patch) | |
tree | 0e704409baaaa22a43b918adc126c76990208f5f /libs/ardour/session.cc | |
parent | 1b39adc4ce8566fd731cf433094b1faf4fe63205 (diff) |
fixes for endemic (compiler?) issues with virtual inheritance of sigc::trackable. NOTE: automation list undo/redo no longer operational, fix to follow
git-svn-id: svn://localhost/ardour2/trunk@1007 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 66cb1f89fa..fddd289882 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -430,6 +430,10 @@ Session::~Session () } AudioDiskstream::free_working_buffers(); + + /* this should cause deletion of the auditioner */ + + // auditioner.reset (); #undef TRACK_DESTRUCTION #ifdef TRACK_DESTRUCTION @@ -469,9 +473,7 @@ Session::~Session () tmp = i; ++tmp; - cerr << "dropping refs on an audio region (" << i->second->name() << " @ " << i->second << ") with UC = " << i->second.use_count() << endl; i->second->drop_references (); - cerr << "AFTER: UC = " << i->second.use_count() << endl; i = tmp; } @@ -1548,11 +1550,17 @@ Session::resort_routes_using (shared_ptr<RouteList> r) for (i = r->begin(); i != r->end(); ++i) { trace_terminal (*i, *i); - } - + } + RouteSorter cmp; r->sort (cmp); + /* don't leave dangling references to routes in Route::fed_by */ + + for (i = r->begin(); i != r->end(); ++i) { + (*i)->fed_by.clear (); + } + #if 0 cerr << "finished route resort\n"; |