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.
This commit is contained in:
Robin Gareus 2020-02-25 15:24:01 +01:00
parent 3aaaa7e459
commit 28c141d450
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -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))