diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 44508e4e5c..4e4678ce73 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -3135,6 +3135,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; } @@ -3151,10 +3156,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))