summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_ui.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-17 23:36:52 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-17 23:36:52 +0000
commit67460c2af45d0455e64623572480c064445c2e5b (patch)
tree90b001525f712a1523ae853e9d37660634c89a17 /gtk2_ardour/route_ui.cc
parentcbb272af44b6a3e3cb807d70a46b5f6d0d7ed109 (diff)
fix deadlock in protocol manager startup; fix some other ::set_session() SNAFUs; remove last boost::signals2::connection member from libardour
git-svn-id: svn://localhost/ardour2/branches/3.0@6375 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_ui.cc')
-rw-r--r--gtk2_ardour/route_ui.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 31841c97ba..c4fe713f58 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -167,6 +167,11 @@ RouteUI::reset ()
void
RouteUI::self_delete ()
{
+ /* This may be called from a non-GUI thread. Keep it safe */
+
+ cerr << "\n\nExpect to see route " << _route->name() << " be deleted\n";
+ _route.reset (); /* drop reference to route, so that it can be cleaned up */
+
route_going_away_connection.disconnect ();
connections.drop_connections ();
delete_when_idle (this);