diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index 91710c5fc9..5e906cb617 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -194,6 +194,7 @@ Editor::draw_measures () double x1, x2, y1, y2; track_canvas.get_scroll_region (x1, y1, x2, y2); + y2 = 1000000000.0f; for (i = all_bbt_points->begin(); i != all_bbt_points->end(); ++i) { diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 6e578a13e7..05f832700e 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -878,8 +878,7 @@ RouteTimeAxisView::selection_click (GdkEventButton* ev) switch (Keyboard::selection_type (ev->state)) { case Selection::Toggle: - /* XXX this is not right */ - editor.get_selection().add (*tracks); + editor.get_selection().toggle (*tracks); break; case Selection::Set: diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc index 086d878994..aa7fdbe30f 100644 --- a/gtk2_ardour/selection.cc +++ b/gtk2_ardour/selection.cc @@ -179,6 +179,14 @@ Selection::toggle (Playlist* pl) PlaylistsChanged (); } +void +Selection::toggle (const list& track_list) +{ + for (list::const_iterator i = track_list.begin(); i != track_list.end(); ++i) { + toggle ( (*i) ); + } +} + void Selection::toggle (TimeAxisView* track) { @@ -616,6 +624,7 @@ Selection::set (list& selectables) add (selectables); } + void Selection::add (list& selectables) {