summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-08-17 19:21:45 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-08-17 19:22:26 -0400
commit41cc35cf6e279c4bf99b1c326a6fdc0c53fce495 (patch)
treeddc52bec2c9774d65139b58a0fbbffc0a65f4156 /libs
parent214dfccdae9b67999d663b55023628aa736b256b (diff)
do not allow undo/redo while actively recording
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/session.h12
-rw-r--r--libs/ardour/session_state.cc20
2 files changed, 25 insertions, 7 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index a1e094a7a4..535317c407 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -874,13 +874,11 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
/** Undo some transactions.
* @param n Number of transactions to undo.
*/
- void undo (uint32_t n) {
- _history.undo (n);
- }
-
- void redo (uint32_t n) {
- _history.redo (n);
- }
+ void undo (uint32_t n);
+ /** Redo some transactions.
+ * @param n Number of transactions to undo.
+ */
+ void redo (uint32_t n);
UndoHistory& history() { return _history; }
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 76cf2d3755..41d6d51979 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -4916,3 +4916,23 @@ Session::save_as (SaveAs& saveas)
return 0;
}
+
+void
+Session::undo (uint32_t n)
+{
+ if (actively_recording()) {
+ return;
+ }
+
+ _history.undo (n);
+}
+
+void
+Session::redo (uint32_t n)
+{
+ if (actively_recording()) {
+ return;
+ }
+
+ _history.redo (n);
+}