From: Carl Hetherington Date: Wed, 9 Nov 2011 17:43:52 +0000 (+0000) Subject: Return 0 from the topological sort if it failed due to X-Git-Tag: 3.0-beta1~95 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=0ed06420c2364a038f9909255bda93d2d134d5cc;p=ardour.git 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 --- 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;