merge with master
[ardour.git] / gtk2_ardour / editor.cc
index 5da1d09d8f565c2248608db2e666b1aedb601b63..57ae65e9a5a410fcd850cf51bcc2ee24535f6f0a 100644 (file)
@@ -4269,7 +4269,16 @@ Editor::set_samples_per_pixel (framecnt_t spp)
 
        ZoomChanged (); /* EMIT_SIGNAL */
 
-       //reset_scrolling_region ();
+       ArdourCanvas::GtkCanvasViewport* c;
+
+       c = get_time_bars_canvas();
+       if (c) {
+               c->canvas()->zoomed ();
+       }
+       c = get_track_canvas();
+       if (c) {
+               c->canvas()->zoomed ();
+       }
 
        if (playhead_cursor) {
                playhead_cursor->set_position (playhead_cursor->current_frame ());
@@ -4395,7 +4404,7 @@ Editor::get_preferred_edit_position (bool ignore_playhead, bool from_context_men
        EditPoint ep = _edit_point;
 
        if (from_context_menu && (ep == EditAtMouse)) {
-               return  window_event_frame (&context_click_event, 0, 0);
+               return  canvas_event_frame (&context_click_event, 0, 0);
        }
 
        if (entered_marker) {
@@ -4882,8 +4891,10 @@ Editor::add_routes (RouteList& routes)
                rtv->view()->RegionViewRemoved.connect (sigc::mem_fun (*this, &Editor::region_view_removed));
        }
 
-       _routes->routes_added (new_views);
-       _summary->routes_added (new_views);
+       if (new_views.size() > 0) {
+               _routes->routes_added (new_views);
+               _summary->routes_added (new_views);
+       }
 
        if (show_editor_mixer_when_tracks_arrive) {
                show_editor_mixer (true);