diff options
Diffstat (limited to 'libs/ardour/ardour/route_group_specialized.h')
-rw-r--r-- | libs/ardour/ardour/route_group_specialized.h | 12 |
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__ */ + |