diff options
author | David Robillard <d@drobilla.net> | 2014-12-06 10:26:25 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-06 10:26:25 -0500 |
commit | 34fcf22476af75e4928a1f38191b91d41a1cd414 (patch) | |
tree | ed536b6b73f968e5b917305dd23f03767f6491e0 /gtk2_ardour | |
parent | d30df2a991546cf42241fa6f13d47aa9e4e89ea9 (diff) |
Fix internal paste when selection has only points.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 532237ad2b..54c37267a7 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -3324,19 +3324,16 @@ MidiRegionView::selection_as_cut_buffer () const bool MidiRegionView::paste (framepos_t pos, unsigned paste_count, float times, const ::Selection& selection, ItemCounts& counts) { - // Get our set of notes from the selection - MidiNoteSelection::const_iterator m = selection.midi_notes.get_nth(counts.n_notes()); - if (m == selection.midi_notes.end()) { - return false; - } - counts.increase_n_notes(); - trackview.session()->begin_reversible_command (Operations::paste); - // Paste notes - paste_internal(pos, paste_count, times, **m); + // Paste notes, if available + MidiNoteSelection::const_iterator m = selection.midi_notes.get_nth(counts.n_notes()); + if (m != selection.midi_notes.end()) { + counts.increase_n_notes(); + paste_internal(pos, paste_count, times, **m); + } - // Paste control points to automation children + // Paste control points to automation children, if available typedef RouteTimeAxisView::AutomationTracks ATracks; const ATracks& atracks = midi_view()->automation_tracks(); for (ATracks::const_iterator a = atracks.begin(); a != atracks.end(); ++a) { |