- /* The note selection is actually stored in MidiRegionView, emit signal to
- tell them to clear their selection. */
- ClearMidiNoteSelection(); /* EMIT SIGNAL */
+ // clear note selections for MRV's that have note selections
+ // this will cause the MRV to be removed from the list
+ for (MidiRegionSelection::iterator i = midi_regions.begin();
+ i != midi_regions.end();) {
+ MidiRegionSelection::iterator tmp = i;
+ ++tmp;
+ MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(*i);
+ if (mrv) {
+ mrv->clear_selection();
+ }
+ i = tmp;
+ }