diff --git a/src/gui/widgets/timeline/timeline-header-container.cpp b/src/gui/widgets/timeline/timeline-header-container.cpp index 7f9637b8b..a849fcf4b 100644 --- a/src/gui/widgets/timeline/timeline-header-container.cpp +++ b/src/gui/widgets/timeline/timeline-header-container.cpp @@ -217,8 +217,20 @@ TimelineHeaderContainer::on_size_request (Requisition* requisition) // We don't care about the size of all the child widgets, but if we // don't send the size request down the tree, some widgets fail to // calculate their text layout correctly. - BOOST_FOREACH( shared_ptr model_track, get_tracks() ) - size_request_recursive(model_track); + + const TimelineLayoutHelper::TrackTree &layout_tree = + timelineWidget.layoutHelper.get_layout_tree(); + + TimelineLayoutHelper::TrackTree::pre_order_iterator iterator; + for(iterator = ++layout_tree.begin(); // ++ so that we skip the sequence root + iterator != layout_tree.end(); + iterator++) + { + Widget &widget = + lookup_timeline_track(*iterator)->get_header_widget(); + if(widget.is_visible()) + widget.size_request(); + } // Initialize the output parameter: *requisition = Gtk::Requisition(); @@ -390,21 +402,6 @@ TimelineHeaderContainer::set_parent_recursive( set_parent_recursive(child); } -void -TimelineHeaderContainer::size_request_recursive( - shared_ptr const model_track) -{ - Widget &widget = - lookup_timeline_track(model_track)->get_header_widget(); - if(widget.is_visible()) - widget.size_request(); - - // Recurse through all the children - BOOST_FOREACH( shared_ptr child, - model_track->get_child_tracks() ) - size_request_recursive(child); -} - void TimelineHeaderContainer::forall_vfunc_recursive( shared_ptr model_track, GtkCallback callback, diff --git a/src/gui/widgets/timeline/timeline-header-container.hpp b/src/gui/widgets/timeline/timeline-header-container.hpp index 7aced1577..bd348792c 100644 --- a/src/gui/widgets/timeline/timeline-header-container.hpp +++ b/src/gui/widgets/timeline/timeline-header-container.hpp @@ -161,13 +161,6 @@ private: void set_parent_recursive(boost::shared_ptr const model_track); - /** - * Recursively causes all the visible track header widgets in a branch - * to call size_request( ). - **/ - void size_request_recursive( - boost::shared_ptr model_track); - /** * Recursively calls a callback on all the header widgets in a branch. * @param model_track The root track of the branch.