diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-23 13:41:20 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-23 13:41:20 -0500 |
commit | 7000afdc66c9e0ae8dcf9ec080517dabba1e7f34 (patch) | |
tree | 19574ed8a1fbafa6bed222d8cf817ee1c8098314 /libs/ardour/session.cc | |
parent | 065e1e63342633f72725a5309926f71c87804293 (diff) | |
parent | 40d8c5ae01f25e02457c554170a53d537246a7d4 (diff) |
fix merge conflict with master
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index d93d689459..be2d4c5441 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -526,13 +526,16 @@ Session::destroy () } routes.flush (); - DEBUG_TRACE (DEBUG::Destruction, "delete sources\n"); - for (SourceMap::iterator i = sources.begin(); i != sources.end(); ++i) { - DEBUG_TRACE(DEBUG::Destruction, string_compose ("Dropping for source %1 ; pre-ref = %2\n", i->second->name(), i->second.use_count())); - i->second->drop_references (); - } + { + DEBUG_TRACE (DEBUG::Destruction, "delete sources\n"); + Glib::Threads::Mutex::Lock lm (source_lock); + for (SourceMap::iterator i = sources.begin(); i != sources.end(); ++i) { + DEBUG_TRACE(DEBUG::Destruction, string_compose ("Dropping for source %1 ; pre-ref = %2\n", i->second->name(), i->second.use_count())); + i->second->drop_references (); + } - sources.clear (); + sources.clear (); + } DEBUG_TRACE (DEBUG::Destruction, "delete route groups\n"); for (list<RouteGroup *>::iterator i = _route_groups.begin(); i != _route_groups.end(); ++i) { |