diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index e5d762332e..f7bbf2a166 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -119,6 +119,13 @@ using Gtkmm2ext::Keyboard; void Editor::undo (uint32_t n) { + if (_session && _session->actively_recording()) { + /* no undo allowed while recording. Session will check also, + but we don't even want to get to that. + */ + return; + } + if (_drags->active ()) { _drags->abort (); } @@ -136,12 +143,19 @@ Editor::undo (uint32_t n) void Editor::redo (uint32_t n) { + if (_session && _session->actively_recording()) { + /* no redo allowed while recording. Session will check also, + but we don't even want to get to that. + */ + return; + } + if (_drags->active ()) { _drags->abort (); } if (_session) { - _session->redo (n); + _session->redo (n); if (_session->redo_depth() == 0) { redo_action->set_sensitive(false); } |