From 998fadda573f7e6b1432bba2ed3b2b555d358964 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 30 Jan 2020 04:09:48 +0100 Subject: Add some sanity checks for Session::save parameters --- libs/ardour/session_state.cc | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libs/ardour/session_state.cc') diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 9986aa2752..e7b1a29d3e 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -760,6 +760,15 @@ Session::save_state (string snapshot_name, bool pending, bool switch_to_snapshot { DEBUG_TRACE (DEBUG::Locale, string_compose ("Session::save_state locale '%1'\n", setlocale (LC_NUMERIC, NULL))); + /* only_used_assets is only possible when archiving */ + assert (!only_used_assets || for_archive); + /* template and archive are exclusive */ + assert (!template_only || !for_archive); + /* switch_to_snapshot needs a new name and can't be pending */ + assert (!switch_to_snapshot || (!snapshot_name.empty () && !pending && !template_only && !for_archive)); + /* pending saves are for current snapshot only */ + assert (!pending || (snapshot_name.empty () && !template_only && !for_archive)); + XMLTree tree; std::string xml_path(_session_dir->root_path()); -- cgit v1.2.3