diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 1543da2337..63026a0d59 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -4274,6 +4274,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; @@ -4285,7 +4286,6 @@ Editor::use_visual_state (VisualState& vs) } } - if (!vs.track_states.empty()) { update_route_visibility (); } diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 63a3607c68..6750cd66c7 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -1781,7 +1781,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 */ @@ -1802,7 +1802,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); no_save_visual = false; }