Fix missing selection undo for track header click and route list select.
authornick_m <mainsbridge@gmail.com>
Tue, 13 Jan 2015 10:41:30 +0000 (21:41 +1100)
committernick_m <mainsbridge@gmail.com>
Tue, 13 Jan 2015 10:41:30 +0000 (21:41 +1100)
gtk2_ardour/editor_routes.cc
gtk2_ardour/route_time_axis.cc

index 26b6c11b12960490cc10dc4d638942e229092912..c7ad7c54ffa7dee36d3baae45c82f6f1d8e65f5f 100644 (file)
@@ -1325,6 +1325,8 @@ EditorRoutes::button_press (GdkEventButton* ev)
 void
 EditorRoutes::selection_changed ()
 {
+       _editor->begin_reversible_selection_op (X_("Select Track from Route List"));
+
        if (_display.get_selection()->count_selected_rows() > 0) {
 
                TreeIter iter;
@@ -1349,6 +1351,8 @@ EditorRoutes::selection_changed ()
        } else {
                _editor->get_selection().clear_tracks ();
        }
+
+       _editor->commit_reversible_selection_op ();
 }
 
 bool
index d2d48203084fa69806cad1815e9bcb465d22586b..92bee3a4fe3f762a435e3f622753315f1b66de63 100644 (file)
@@ -1294,15 +1294,22 @@ RouteTimeAxisView::selection_click (GdkEventButton* ev)
        if (Keyboard::modifier_state_equals (ev->state, (Keyboard::TertiaryModifier|Keyboard::PrimaryModifier))) {
 
                /* special case: select/deselect all tracks */
+
+               _editor.begin_reversible_selection_op (X_("Selection Click"));
+
                if (_editor.get_selection().selected (this)) {
                        _editor.get_selection().clear_tracks ();
                } else {
                        _editor.select_all_tracks ();
                }
 
+               _editor.commit_reversible_selection_op ();
+
                return;
        }
 
+       _editor.begin_reversible_selection_op (X_("Selection Click"));
+
        switch (ArdourKeyboard::selection_type (ev->state)) {
        case Selection::Toggle:
                _editor.get_selection().toggle (this);
@@ -1320,6 +1327,8 @@ RouteTimeAxisView::selection_click (GdkEventButton* ev)
                _editor.get_selection().add (this);
                break;
        }
+
+       _editor.commit_reversible_selection_op ();
 }
 
 void