Don't save instant while loading instant.xml

opening a recent session from a session can result in: Editor::constructed
and session_loaded() being true. A partial instant_save can occur (not
to mention: invalid XMLnode iterators)
This commit is contained in:
Robin Gareus 2016-05-18 20:06:20 +02:00
parent 69d644e979
commit 098e8e551a
2 changed files with 4 additions and 1 deletions

View File

@ -436,6 +436,7 @@ Editor::Editor ()
, show_gain_after_trim (false)
, selection_op_cmd_depth (0)
, selection_op_history_it (0)
, no_save_instant (false)
, current_timefx (0)
, current_mixer_strip (0)
, show_editor_mixer_when_tracks_arrive (false)
@ -949,7 +950,7 @@ Editor::set_entered_track (TimeAxisView* tav)
void
Editor::instant_save ()
{
if (!constructed || !ARDOUR_UI::instance()->session_loaded) {
if (!constructed || !ARDOUR_UI::instance()->session_loaded || no_save_instant) {
return;
}
@ -2289,6 +2290,7 @@ Editor::set_state (const XMLNode& node, int version)
{
XMLProperty const * prop;
set_id (node);
PBD::Unwinder<bool> nsi (no_save_instant, true);
Tabbable::set_state (node, version);

View File

@ -1975,6 +1975,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void update_title_s (const std::string & snapshot_name);
void instant_save ();
bool no_save_instant;
boost::shared_ptr<ARDOUR::AudioRegion> last_audition_region;