summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-11-01 15:28:42 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-11-01 15:28:42 +0000
commitcb534fd536125fc0a1654f51d077424a58fda06e (patch)
treee745902b79e49b751cf3a738085b413e66a8208b /libs/ardour/session.cc
parent33cde64ba350219e5642dc0ad05d532e9fa51c83 (diff)
new ancestral data handling for regions; new Stretch AudioFilter replaces session member function; fix for "+" in XML node name; fix up async peak build flag in SourceFactory
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2583 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 2ecf3ccae7..1dc682d4e9 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -2097,14 +2097,14 @@ Session::remove_route (shared_ptr<Route> route)
find_current_end ();
- update_latency_compensation (false, false);
- set_dirty();
-
// We need to disconnect the routes inputs and outputs
route->disconnect_inputs (0);
route->disconnect_outputs (0);
+ update_latency_compensation (false, false);
+ set_dirty();
+
/* get rid of it from the dead wood collection in the route list manager */
/* XXX i think this is unsafe as it currently stands, but i am not sure. (pd, october 2nd, 2006) */
@@ -2113,8 +2113,13 @@ Session::remove_route (shared_ptr<Route> route)
/* try to cause everyone to drop their references */
+ cerr << "pre drop, Route now has " << route.use_count() << " refs\n";
+ cerr << "sig has " << route->GoingAway.size() << endl;
+
route->drop_references ();
+ cerr << "route dangling refs = " << route.use_count() << endl;
+
/* save the new state of the world */
if (save_state (_current_snapshot_name)) {