diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index c118a2ee76..9a24be433a 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -2243,6 +2243,9 @@ Editor::set_state (const XMLNode& node, int /*version*/) if ((prop = node.property ("left-frame")) != 0) { framepos_t pos; if (sscanf (prop->value().c_str(), "%" PRId64, &pos) == 1) { + if (pos < 0) { + pos = 0; + } reset_x_origin (pos); } } @@ -4308,6 +4311,7 @@ Editor::idle_visual_changer () */ leftmost_frame = pending_visual_change.time_origin; + assert (leftmost_frame >= 0); } if (p & VisualChange::ZoomLevel) { diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 96ae169aed..1dd5256d2a 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -1581,6 +1581,10 @@ Editor::temporal_zoom_by_frame (framepos_t start, framepos_t end, const string & new_leftmost = 0; } + if (new_leftmost < 0) { + new_leftmost = 0; + } + reposition_and_zoom (new_leftmost, new_fpu); }