From f6496524a41d2f6964cebe8648998f888a5dc7ec Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 2 May 2020 09:44:34 -0600 Subject: fix thinko in MidiRegionView::add_to_selection() The existing code isn't wrong, but inefficient. If the selection is empty, then this is necessarily the first note, and cannot be present in the selection. So, don't search the std::set<> and then insert, just insert. --- gtk2_ardour/midi_region_view.cc | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 602c26d365..bcd7d6fced 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -2445,13 +2445,6 @@ MidiRegionView::remove_from_selection (NoteBase* ev) void MidiRegionView::add_to_selection (NoteBase* ev) { - Selection::iterator n = _selection.find (ev); - - if (n != _selection.end()) { - /* already selected */ - return; - } - if (_selection.empty()) { /* first note selected in this region, force Editor region @@ -2461,9 +2454,10 @@ MidiRegionView::add_to_selection (NoteBase* ev) trackview.editor().set_selected_midi_region_view (*this); } - _selection.insert (n, ev); - ev->set_selected (true); - start_playing_midi_note ((ev)->note()); + if (_selection.insert (ev).second == true) { + ev->set_selected (true); + start_playing_midi_note ((ev)->note()); + } } Temporal::Beats -- cgit v1.2.3