From 2f0dc088446d6fb4b7e58120f4faee951d6ac359 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 9 Feb 2017 12:22:59 +0100 Subject: when adding a default start/end range to a Location while saving a template, do not mark the current session dirty --- libs/ardour/session_state.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 36d3c9868b..dff053dc38 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -1294,6 +1294,7 @@ Session::state (bool full_state) } } else { Locations loc (*this); + const bool was_dirty = dirty(); // for a template, just create a new Locations, populate it // with the default start and end, and get the state for that. Location* range = new Location (*this, 0, 0, _("session"), Location::IsSessionRange, 0); @@ -1310,6 +1311,15 @@ Session::state (bool full_state) } } node->add_child_nocopy (locations_state); + + /* adding a location above will have marked the session + * dirty. This is an artifact, so fix it if the session wasn't + * already dirty + */ + + if (!was_dirty) { + _state_of_the_state = StateOfTheState (_state_of_the_state & ~Dirty); + } } child = node->add_child ("Bundles"); -- cgit v1.2.3