From 0ed06420c2364a038f9909255bda93d2d134d5cc Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 9 Nov 2011 17:43:52 +0000 Subject: [PATCH] Return 0 from the topological sort if it failed due to feedback. git-svn-id: svn://localhost/ardour2/branches/3.0@10509 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/route_dag.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/ardour/route_dag.cc b/libs/ardour/route_dag.cc index 6a6e8d2bbd..3b13cf9415 100644 --- a/libs/ardour/route_dag.cc +++ b/libs/ardour/route_dag.cc @@ -146,7 +146,9 @@ struct RouteRecEnabledComparator } }; - +/** Perform a topological sort of a list of routes using a directed graph representing connections. + * @return Sorted list of routes, or 0 if the graph contains cycles (feedback loops). + */ boost::shared_ptr ARDOUR::topological_sort ( boost::shared_ptr routes, @@ -189,7 +191,8 @@ ARDOUR::topological_sort ( } if (!edges.empty ()) { - cout << "Feedback detected.\n"; + /* There are cycles in the graph, so we can't do a topological sort */ + return boost::shared_ptr (); } return sorted_routes;