diff options
-rw-r--r-- | gtk2_ardour/editor.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_canvas.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_canvas_events.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/public_editor.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/time_axis_view.cc | 2 |
6 files changed, 11 insertions, 9 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index dd0b7309e7..f3195daec2 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -3870,7 +3870,7 @@ Editor::control_layout_scroll (GdkEventScroll* ev) In the not too distant future this layout is going away anyway and headers will be on the canvas. */ - return canvas_scroll_event (ev); + return canvas_scroll_event (ev, false); } void diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 9191a23503..a7a7224e61 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -1383,7 +1383,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD /* Canvas event handlers */ - bool canvas_scroll_event (GdkEventScroll* event); + bool canvas_scroll_event (GdkEventScroll* event, bool from_canvas); bool canvas_control_point_event (GdkEvent* event,ArdourCanvas::Item*, ControlPoint*); bool canvas_line_event (GdkEvent* event,ArdourCanvas::Item*, AutomationLine*); bool canvas_selection_rect_event (GdkEvent* event,ArdourCanvas::Item*, SelectionRect*); diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index c448fa65df..f962cb4ff7 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -236,7 +236,7 @@ Editor::initialize_canvas () handlers. */ - _track_canvas->signal_scroll_event().connect (sigc::mem_fun (*this, &Editor::canvas_scroll_event)); + _track_canvas->signal_scroll_event().connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_scroll_event), true)); _track_canvas->signal_motion_notify_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_motion_notify_event)); _track_canvas->signal_button_press_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_button_press_event)); _track_canvas->signal_button_release_event().connect (sigc::mem_fun (*this, &Editor::track_canvas_button_release_event)); diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc index a9114df5dd..be2b5c3de7 100644 --- a/gtk2_ardour/editor_canvas_events.cc +++ b/gtk2_ardour/editor_canvas_events.cc @@ -160,11 +160,13 @@ Editor::track_canvas_scroll (GdkEventScroll* ev) } bool -Editor::canvas_scroll_event (GdkEventScroll *event) +Editor::canvas_scroll_event (GdkEventScroll *event, bool from_canvas) { - boost::optional<Rect> rulers = _time_markers_group->bounding_box(); - if (rulers && rulers->contains (Duple (event->x, event->y))) { - return canvas_ruler_event ((GdkEvent*) event, timecode_ruler, TimecodeRulerItem); + if (from_canvas) { + boost::optional<Rect> rulers = _time_markers_group->bounding_box(); + if (rulers && rulers->contains (Duple (event->x, event->y))) { + return canvas_ruler_event ((GdkEvent*) event, timecode_ruler, TimecodeRulerItem); + } } _track_canvas->grab_focus(); diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index d37b4d7744..af66415a65 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -318,7 +318,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi virtual void reset_focus () = 0; - virtual bool canvas_scroll_event (GdkEventScroll* event) = 0; + virtual bool canvas_scroll_event (GdkEventScroll* event, bool from_canvas) = 0; virtual bool canvas_control_point_event (GdkEvent* event, ArdourCanvas::Item*, ControlPoint*) = 0; virtual bool canvas_line_event (GdkEvent* event, ArdourCanvas::Item*, AutomationLine*) = 0; virtual bool canvas_selection_rect_event (GdkEvent* event, ArdourCanvas::Item*, SelectionRect*) = 0; diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc index a05b144e56..31b25164ac 100644 --- a/gtk2_ardour/time_axis_view.cc +++ b/gtk2_ardour/time_axis_view.cc @@ -324,7 +324,7 @@ TimeAxisView::controls_ebox_scroll (GdkEventScroll* ev) In the not too distant future this layout is going away anyway and headers will be on the canvas. */ - return _editor.canvas_scroll_event (ev); + return _editor.canvas_scroll_event (ev, false); } bool |