another redirect dialog fix
[ardour.git] / gtk2_ardour / streamview.cc
index 75fb003d775825c5e47524f50ec11aba6610ef9c..d6f2edeba9e9ef8ac645f120bbf98ebd80e956a9 100644 (file)
@@ -56,13 +56,14 @@ StreamView::StreamView (RouteTimeAxisView& tv)
        , use_rec_regions(tv.editor.show_waveforms_recording())
        , region_color(_trackview.color())
        , stream_base_color(0xFFFFFFFF)
+       , last_rec_data_frame(0)
 {
        /* set_position() will position the group */
 
        canvas_rect = new ArdourCanvas::SimpleRect (*canvas_group);
        canvas_rect->property_x1() = 0.0;
        canvas_rect->property_y1() = 0.0;
-       canvas_rect->property_x2() = 1000000.0;
+       canvas_rect->property_x2() = _trackview.editor.frame_to_pixel (max_frames);
        canvas_rect->property_y2() = (double) tv.height;
        canvas_rect->property_outline_what() = (guint32) (0x1|0x2|0x8);  // outline ends and bottom 
        // (Fill/Outline colours set in derived classes)
@@ -111,16 +112,16 @@ StreamView::set_height (gdouble h)
                return -1;
        }
 
+       if (canvas_rect->property_y2() == h) {
+               return 0;
+       }
+
        canvas_rect->property_y2() = h;
 
        for (RegionViewList::iterator i = region_views.begin(); i != region_views.end(); ++i) {
                (*i)->set_height (h);
        }
 
-       /*for (CrossfadeViewList::iterator i = crossfade_views.begin(); i != crossfade_views.end(); ++i) {
-               (*i)->set_height (h);
-       }*/
-
        for (vector<RecBoxInfo>::iterator i = rec_rects.begin(); i != rec_rects.end(); ++i) {
                RecBoxInfo &recbox = (*i);
                recbox.rectangle->property_y2() = h - 1.0;