From ff5709e8955dc9f36467cee610d7d6641de1aabc Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 25 Feb 2008 01:33:30 +0000 Subject: [PATCH] Fix selection issues. git-svn-id: svn://localhost/ardour2/branches/3.0@3120 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/midi_region_view.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 3edd527ad0..410d6a565e 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -820,7 +820,10 @@ MidiRegionView::note_dropped(CanvasMidiEvent* ev, double dt, uint8_t dnote) if (_selection.find(ev) != _selection.end()) { start_delta_command(); - for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) { + for (Selection::iterator i = _selection.begin(); i != _selection.end() ; ) { + Selection::iterator next = i; + ++next; + command_remove_note(*i); const boost::shared_ptr copy(new Note(*(*i)->note().get())); @@ -828,6 +831,9 @@ MidiRegionView::note_dropped(CanvasMidiEvent* ev, double dt, uint8_t dnote) copy->set_note((*i)->note()->note() + dnote); command_add_note(copy); + + _selection.erase(i); + i = next; } apply_command(); }