summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-05-18 20:06:20 +0200
committerRobin Gareus <robin@gareus.org>2016-05-18 20:06:20 +0200
commit098e8e551a8561fa3c2d8868df2f325f2be3a90d (patch)
treea275ff642d31ad1c4a756592dea165fdd8b3eb6f /gtk2_ardour
parent69d644e979999f33b5ecb9653d1d4b37d2132149 (diff)
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)
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor.cc4
-rw-r--r--gtk2_ardour/editor.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 14021d7e45..edc1aa4478 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -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);
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index fbe3f11741..665e9cc54c 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -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;