From 9257e99d49c54bf37516aa416b1e930572d56704 Mon Sep 17 00:00:00 2001 From: Valeriy Kamyshniy Date: Mon, 16 Feb 2015 15:08:46 +0200 Subject: [PATCH] [Summary] Bug fix: Toggling state of MIDI Marker, should reset selection from selected Skip Marker if any. Checking for front of _editor->selection-markers should not be done when _editor->selection-markers is empty. --- gtk2_ardour/editor_drag.cc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 5e77afc2c2..a2653ffccd 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -3417,7 +3417,8 @@ MarkerDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor) // Range Markers should not be multiselected. // There must not be any Range Marker in any multi-selection if ((_marker->type () == Marker::Range) || - (_editor->selection->markers.front ()->type () == Marker::Range)) { + ((!_editor->selection->markers.empty()) && + (_editor->selection->markers.front ()->type () == Marker::Range))) { if (!_editor->selection->selected (_marker)) { _editor->selection->set (_marker); } @@ -3690,7 +3691,14 @@ MarkerDrag::finished (GdkEvent* event, bool movement_occurred) break; case Selection::Toggle: - /* we toggle on the button release, click only */ + // Range Markers should not be multiselected. + // There must not be any Range Marker in any multi-selection + if ((_marker->type () == Marker::Mark) && + (!_editor->selection->markers.empty()) && + (_editor->selection->markers.front ()->type () == Marker::Range)) { + _editor->selection->markers.clear (); + + } _editor->selection->toggle (_marker); break;