summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2017-01-31 03:03:45 +1100
committernick_m <mainsbridge@gmail.com>2017-02-04 22:57:36 +1100
commitb04f89be519b6c3257cbe5707992b514771bce63 (patch)
tree80b37138aed3ff16e17562c4a7a130e3d4c957f8 /gtk2_ardour
parentf751a0993b4f3e06e263b2a8505738791744a859 (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()?)
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_canvas_events.cc2
-rw-r--r--gtk2_ardour/editor_drag.cc4
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) {