diff --git a/src/gui/widgets/timeline-widget.cpp b/src/gui/widgets/timeline-widget.cpp index 336c67504..07fd3d6f9 100644 --- a/src/gui/widgets/timeline-widget.cpp +++ b/src/gui/widgets/timeline-widget.cpp @@ -299,37 +299,35 @@ TimelineWidget::create_timeline_tracks() { REQUIRE(sequence != NULL); - create_timeline_tracks_from_branch(sequence->get_tracks()); + BOOST_FOREACH(model::Track* child, sequence->get_tracks()) + create_timeline_tracks_from_branch(child); } void TimelineWidget::create_timeline_tracks_from_branch( - const std::list& tracks) + model::Track* const model_track) { - BOOST_FOREACH(model::Track* model_track, tracks) + REQUIRE(model_track != NULL); + + // Is a timeline UI track present in the map already? + std::map::const_iterator iterator + = trackMap.find(model_track); + if(iterator == trackMap.end()) { - ASSERT(model_track != NULL); - - // Is a timeline UI track present in the map already? - std::map::const_iterator iterator - = trackMap.find(model_track); - if(iterator == trackMap.end()) - { - // The timeline UI track is not present - // We will need to create one - trackMap[model_track] = - create_timeline_track_from_model_track(model_track); - } - - // Recurse to child tracks - create_timeline_tracks_from_branch( - model_track->get_child_tracks()); + // The timeline UI track is not present + // We will need to create one + trackMap[model_track] = + create_timeline_track_from_model_track(model_track); } + + // Recurse to child tracks + BOOST_FOREACH(model::Track* child, model_track->get_child_tracks()) + create_timeline_tracks_from_branch(child); } timeline::Track* TimelineWidget::create_timeline_track_from_model_track( - model::Track *model_track) + model::Track* const model_track) { REQUIRE(model_track); diff --git a/src/gui/widgets/timeline-widget.hpp b/src/gui/widgets/timeline-widget.hpp index 63a185be1..eb70aa45e 100644 --- a/src/gui/widgets/timeline-widget.hpp +++ b/src/gui/widgets/timeline-widget.hpp @@ -171,12 +171,12 @@ private: /** * Iterates through a branch of tracks, recursing into each sub-branch - * creating UI timeline tracks for each model track, if they don't + * creating UI timeline tracks for each model track if they don't * already exist in trackMap. - * @param list The list of model tracks to interate through. + * @param list The parent track of the branch. **/ void create_timeline_tracks_from_branch( - const std::list& list); + model::Track* const model_track); /** * Creates a timeline UI track to correspond to a model track. @@ -185,7 +185,7 @@ private: * unreckognised type (this is an error condition). **/ static timeline::Track* create_timeline_track_from_model_track( - model::Track *model_track); + model::Track* const model_track); /** * Looks up a timeline UI track in trackMap that corresponds to a