summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2015-02-05 23:32:57 +1100
committernick_m <mainsbridge@gmail.com>2015-02-05 23:32:57 +1100
commitff13ac8b4f61b384af64c38009ff2533c0615409 (patch)
tree5c5b9b9c8526b021b5178ead3133eaab194c0ed3 /gtk2_ardour
parentf9b258745850143b37950a1defacc4937469d022 (diff)
Clean up Session's _current_trans when aborting a drag.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor.cc9
-rw-r--r--gtk2_ardour/editor.h1
-rw-r--r--gtk2_ardour/editor_drag.cc1
-rw-r--r--gtk2_ardour/public_editor.h1
4 files changed, 12 insertions, 0 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 0cb58a8387..c8b3437662 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -3429,6 +3429,15 @@ Editor::begin_reversible_command (GQuark q)
}
void
+Editor::abort_reversible_command ()
+{
+ if (_session) {
+ before.clear();
+ _session->abort_reversible_command ();
+ }
+}
+
+void
Editor::commit_reversible_command ()
{
if (_session) {
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 5cf98fa0d9..c7d323576f 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -452,6 +452,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void redo_selection_op ();
void begin_reversible_command (std::string cmd_name);
void begin_reversible_command (GQuark);
+ void abort_reversible_command ();
void commit_reversible_command ();
DragManager* drags () const {
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index 79f8654ff4..1f13c68d74 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -108,6 +108,7 @@ DragManager::abort ()
}
_drags.clear ();
+ _editor->abort_reversible_command();
_ending = false;
}
diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h
index ff7cae35f2..e580ac0ec3 100644
--- a/gtk2_ardour/public_editor.h
+++ b/gtk2_ardour/public_editor.h
@@ -396,6 +396,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual void commit_reversible_selection_op () = 0;
virtual void begin_reversible_command (std::string cmd_name) = 0;
virtual void begin_reversible_command (GQuark) = 0;
+ virtual void abort_reversible_command () = 0;
virtual void commit_reversible_command () = 0;
virtual MouseCursors const * cursors () const = 0;