summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-01-24 19:27:28 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-01-24 19:27:28 -0500
commit1fb83d698cfc8edd6c38c27ba2a301d40a2feed6 (patch)
treed9e95041dca678b7a82a6c3c1e97d2b928430354 /libs/ardour/session_transport.cc
parent0b5ceaca4eb173d42766bd9438918628ca495a35 (diff)
make butler thread merely ask for session state save, not actually do the save itself.
This prevents the possibility of cross-thread calls in the GUI when it adds its state to the session via extra XML
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r--libs/ardour/session_transport.cc7
1 files changed, 3 insertions, 4 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index dec3683c19..9750d91ce8 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -677,9 +677,8 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished)
* save state only if there's no slave or if it's not yet locked.
*/
if (!_slave || !_slave->locked()) {
- DEBUG_TRACE (DEBUG::Transport, X_("Butler PTW: pending save\n"));
- /* capture start has been changed, so save pending state */
- save_state ("", true);
+ DEBUG_TRACE (DEBUG::Transport, X_("Butler PTW: requests save\n"));
+ SaveSessionRequested (_current_snapshot_name);
saved = true;
}
}
@@ -691,7 +690,7 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished)
/* save the current state of things if appropriate */
if (did_record && !saved) {
- save_state (_current_snapshot_name);
+ SaveSessionRequested (_current_snapshot_name);
}
if (ptw & PostTransportStop) {