summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/route_group_specialized.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/route_group_specialized.h')
-rw-r--r--libs/ardour/ardour/route_group_specialized.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/ardour/ardour/route_group_specialized.h b/libs/ardour/ardour/route_group_specialized.h
index c9d06a93c9..242a16c43e 100644
--- a/libs/ardour/ardour/route_group_specialized.h
+++ b/libs/ardour/ardour/route_group_specialized.h
@@ -26,12 +26,13 @@
namespace ARDOUR {
template<class T> void
-RouteGroup::apply (void (Track::*func)(T, void *), T val, void */*src*/)
+RouteGroup::apply (void (Track::*func)(T, void *), T val, void* /*src*/)
{
- for (std::list<Route *>::iterator i = routes.begin(); i != routes.end(); i++) {
- Track *at;
- if ((at = dynamic_cast<Track*>(*i)) != 0) {
- (at->*func)(val, this);
+ for (RouteList::iterator i = routes->begin(); i != routes->end(); i++) {
+ boost::shared_ptr<Track> at;
+
+ if ((at = boost::dynamic_pointer_cast<Track>(*i)) != 0) {
+ (at.get()->*func)(val, this);
}
}
}
@@ -39,3 +40,4 @@ RouteGroup::apply (void (Track::*func)(T, void *), T val, void */*src*/)
} /* namespace ARDOUR */
#endif /* __ardour_route_group_specialized_h__ */
+