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