From f23490bd37112ddf0538fe02560eb1f9ec2ebff7 Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Tue, 27 Nov 2012 17:04:42 +0000 Subject: [PATCH] mousehweel zoom should always operate like ZoomFocusMouse git-svn-id: svn://localhost/ardour2/branches/3.0@13557 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_canvas_events.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc index 40d6be0ba1..15bd51b3ba 100644 --- a/gtk2_ardour/editor_canvas_events.cc +++ b/gtk2_ardour/editor_canvas_events.cc @@ -66,7 +66,11 @@ Editor::track_canvas_scroll (GdkEventScroll* ev) switch (direction) { case GDK_SCROLL_UP: if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { + //for mouse-wheel zoom, force zoom-focus to mouse + Editing::ZoomFocus temp_focus = zoom_focus; + zoom_focus = Editing::ZoomFocusMouse; temporal_zoom_step (false); + zoom_focus = temp_focus; return true; } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::SecondaryModifier)) { direction = GDK_SCROLL_LEFT; @@ -91,7 +95,11 @@ Editor::track_canvas_scroll (GdkEventScroll* ev) case GDK_SCROLL_DOWN: if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { + //for mouse-wheel zoom, force zoom-focus to mouse + Editing::ZoomFocus temp_focus = zoom_focus; + zoom_focus = Editing::ZoomFocusMouse; temporal_zoom_step (true); + zoom_focus = temp_focus; return true; } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::SecondaryModifier)) { direction = GDK_SCROLL_RIGHT;