diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 21088227d5..4e99c663f0 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -3111,6 +3111,11 @@ Session::save_history (string snapshot_name) return 0; } + if (!Config->get_save_history() || Config->get_saved_history_depth() < 0 || + (_history.undo_depth() == 0 && _history.redo_depth() == 0)) { + return 0; + } + if (snapshot_name.empty()) { snapshot_name = _current_snapshot_name; } @@ -3127,10 +3132,6 @@ Session::save_history (string snapshot_name) } } - if (!Config->get_save_history() || Config->get_saved_history_depth() < 0) { - return 0; - } - tree.set_root (&_history.get_state (Config->get_saved_history_depth())); if (!tree.write (xml_path))