diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index ea8cc07209..bcd91e0760 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -5360,10 +5360,10 @@ Editor::change_region_layering_order (bool from_context_menu) { framepos_t position; - if (from_context_menu) { - position = event_frame (&context_click_event, 0, 0); - } else { + if (!from_context_menu || (_edit_point != EditAtMouse)) { position = get_preferred_edit_position (); + } else { + position = event_frame (&context_click_event, 0, 0); } if (!clicked_routeview) { diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 39f6fa2b88..b16eac3fd4 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -4558,13 +4558,14 @@ void Editor::insert_patch_change (bool from_context) { RegionSelection rs = get_regions_from_selection_and_entered (); + if (rs.empty ()) { return; } framepos_t p; - if (!from_context) { + if (!from_context || (_edit_point != EditAtMouse)) { p = get_preferred_edit_position (false); } else { p = event_frame (&context_click_event, 0, 0);