From 28c141d450a3aa6c4c519c2148b8c07dd37b7e68 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 25 Feb 2020 15:24:01 +0100 Subject: Remove history file when it's empty Various operations clear the history (e.g. cleanup). In that case the GUI correctly had an empty Undo/Redo history, but the file on disk was left in place. Next session load restored the old, incorrect Undo/Redo history. --- libs/ardour/session_state.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'libs/ardour/session_state.cc') diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 395329195e..7d24830e69 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -3817,11 +3817,6 @@ 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; } @@ -3838,6 +3833,11 @@ Session::save_history (string snapshot_name) } } + if (!Config->get_save_history() || Config->get_saved_history_depth() < 0 || + (_history.undo_depth() == 0 && _history.redo_depth() == 0)) { + return 0; + } + tree.set_root (&_history.get_state (Config->get_saved_history_depth())); if (!tree.write (xml_path)) -- cgit v1.2.3