diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 8b1bbef831..c27c5cf272 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -4537,6 +4537,7 @@ Editor::use_visual_state (VisualState& vs) set_zoom_focus (vs.zoom_focus); reposition_and_zoom (vs.leftmost_frame, vs.frames_per_unit); + zoomed_to_region = vs.zoomed_to_region; for (list::iterator i = vs.track_states.begin(); i != vs.track_states.end(); ++i) { TrackViewList::iterator t; diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 952df81aab..283935af77 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -1729,7 +1729,6 @@ Editor::temporal_zoom_region (bool both_axes) nframes64_t end = 0; RegionSelection rs; set tracks; - double top_y_position = DBL_MAX; get_regions_for_action (rs); @@ -1748,10 +1747,6 @@ Editor::temporal_zoom_region (bool both_axes) } tracks.insert (&((*i)->get_time_axis_view())); - - if ((*i)->get_time_axis_view().y_position < top_y_position) { - top_y_position = (*i)->get_time_axis_view().y_position; - } } /* now comes an "interesting" hack ... make sure we leave a little space @@ -1796,7 +1791,7 @@ Editor::temporal_zoom_region (bool both_axes) temporal_zoom_by_frame (start, end, "zoom to region"); if (both_axes) { - uint32_t per_track_height = (uint32_t) floor ((canvas_height - 10.0) / tracks.size()); + uint32_t per_track_height = (uint32_t) floor ((canvas_height - canvas_timebars_vsize - 10.0) / tracks.size()); /* set visible track heights appropriately */ @@ -1817,7 +1812,7 @@ Editor::temporal_zoom_region (bool both_axes) no_route_list_redisplay = false; redisplay_route_list (); - vertical_adjustment.set_value (std::max (top_y_position - 5.0, 0.0)); + vertical_adjustment.set_value (0.0); no_save_visual = false; }