diff options
author | nick_m <mainsbridge@gmail.com> | 2017-01-31 03:03:45 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2017-02-04 22:57:36 +1100 |
commit | b04f89be519b6c3257cbe5707992b514771bce63 (patch) | |
tree | 80b37138aed3ff16e17562c4a7a130e3d4c957f8 | |
parent | f751a0993b4f3e06e263b2a8505738791744a859 (diff) |
make dragging a region from the list not crash.
- its still a fake event, but we can at least get the snap correct.
- playlist->add_region() parameters were whacky
(for Playlist::add_region_internal()?)
-rw-r--r-- | gtk2_ardour/editor_canvas_events.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc index 569f58c952..9a12ada070 100644 --- a/gtk2_ardour/editor_canvas_events.cc +++ b/gtk2_ardour/editor_canvas_events.cc @@ -1316,7 +1316,7 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/, if ((boost::dynamic_pointer_cast<AudioRegion> (region_copy) != 0 && dynamic_cast<AudioTimeAxisView*> (rtav) != 0) || (boost::dynamic_pointer_cast<MidiRegion> (region_copy) != 0 && dynamic_cast<MidiTimeAxisView*> (rtav) != 0)) { _drags->set (new RegionInsertDrag (this, region_copy, rtav, pos), &event); - _drags->end_grab (0); + _drags->end_grab (&event); } } } diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 6d87599e89..6a143eecd7 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -1982,7 +1982,9 @@ RegionInsertDrag::finished (GdkEvent * event, bool) _editor->begin_reversible_command (Operations::insert_region); playlist->clear_changes (); - playlist->add_region (_primary->region (), _last_position.frame, _editor->get_grid_music_divisions (event->button.state)); + _editor->snap_to_with_modifier (_last_position, event); + + playlist->add_region (_primary->region (), _last_position.frame, 1.0, false, _last_position.division); // Mixbus doesn't seem to ripple when inserting regions from the list: should we? yes, probably if (Config->get_edit_mode() == Ripple) { |