summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-12-06 10:26:25 -0500
committerDavid Robillard <d@drobilla.net>2014-12-06 10:26:25 -0500
commit34fcf22476af75e4928a1f38191b91d41a1cd414 (patch)
treeed536b6b73f968e5b917305dd23f03767f6491e0 /gtk2_ardour/midi_region_view.cc
parentd30df2a991546cf42241fa6f13d47aa9e4e89ea9 (diff)
Fix internal paste when selection has only points.
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r--gtk2_ardour/midi_region_view.cc17
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) {