diff options
author | nick_m <mainsbridge@gmail.com> | 2016-11-23 15:09:54 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-11-23 15:09:54 +1100 |
commit | 522264f5d60a202665f0575a77be37c1b46203fa (patch) | |
tree | 9b272b63810a3589e7b4ba4b74494267107822f6 /gtk2_ardour | |
parent | fcad5a337fd4a7119fdd213ddb1df8eeb6a42bf4 (diff) |
clicking on an automation line selects adjacent points correctly.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 3e463373d1..6845017e40 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -575,8 +575,13 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it if (eff_mouse_mode != MouseRange) { AutomationLine* al = reinterpret_cast<AutomationLine*> (item->get_data ("line")); std::list<Selectable*> selectables; + double mx = event->button.x; + double my = event->button.y; + + al->grab_item().canvas_to_item (mx, my); + uint32_t before, after; - framecnt_t const where = (framecnt_t) floor (event->button.x * samples_per_pixel); + framecnt_t const where = (framecnt_t) floor (mx * samples_per_pixel); if (!al || !al->control_points_adjacent (where, before, after)) { break; |