diff options
Diffstat (limited to 'gtk2_ardour/editor_canvas.cc')
-rw-r--r-- | gtk2_ardour/editor_canvas.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index 8324e044b3..6b3b62b06e 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -93,7 +93,13 @@ Editor::initialize_canvas () track_canvas.set_center_scroll_region (false); track_canvas.set_dither (Gdk::RGB_DITHER_NONE); - track_canvas.signal_event().connect (bind (mem_fun (*this, &Editor::track_canvas_event), (ArdourCanvas::Item*) 0)); + /* need to handle 4 specific types of events as catch-alls */ + + track_canvas.signal_scroll_event().connect (mem_fun (*this, &Editor::track_canvas_scroll_event)); + track_canvas.signal_motion_notify_event().connect (mem_fun (*this, &Editor::track_canvas_motion_notify_event)); + track_canvas.signal_button_press_event().connect (mem_fun (*this, &Editor::track_canvas_button_press_event)); + track_canvas.signal_button_release_event().connect (mem_fun (*this, &Editor::track_canvas_button_release_event)); + track_canvas.set_name ("EditorMainCanvas"); track_canvas.add_events (Gdk::POINTER_MOTION_HINT_MASK|Gdk::SCROLL_MASK); track_canvas.signal_leave_notify_event().connect (mem_fun(*this, &Editor::left_track_canvas)); @@ -368,7 +374,7 @@ Editor::track_canvas_size_allocated () } update_fixed_rulers(); - tempo_map_changed (Change (0), true); + redisplay_tempo (true); Resized (); /* EMIT_SIGNAL */ @@ -720,6 +726,6 @@ Editor::canvas_horizontally_scrolled () update_fixed_rulers (); - tempo_map_changed (Change (0), !_dragging_hscrollbar); + redisplay_tempo (!_dragging_hscrollbar); } |