always compute range for a redirect automation line, even if it will not be drawn...
[ardour.git] / gtk2_ardour / marker.cc
index 7dd45499e7fdf914c0dc61cf706ddeafbe10dd7a..48b840358484aa854a2f666fab398952d9f42201 100644 (file)
@@ -243,10 +243,10 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
        mark->property_outline_color_rgba() = rgba;
        mark->property_width_pixels() = 1;
        Pango::FontDescription* font = get_font_for_style (N_("MarkerText"));
-       
+       //cerr << " font->get_size() = " << font->get_size() << " is_absolute = " << pango_font_description_get_size_is_absolute(font->gobj()) << " to_string = " << font->to_string() << endl;
        text = new Text (*group);
-       text->property_text() = annotation.c_str();
        text->property_font_desc() = *font;
+       text->property_text() = annotation.c_str();
 
        delete font;
        
@@ -283,6 +283,7 @@ Marker::~Marker ()
 
        if (line) {
                delete line;
+               line = 0;
        }
 }
 
@@ -303,16 +304,16 @@ Marker::set_line_vpos (double pos, double height)
 }
 
 void
-Marker::add_line (ArdourCanvas::Group* group, double initial_height)
+Marker::add_line (ArdourCanvas::Group* group, double y_origin, double initial_height)
 {
        if (!line) {
 
                line = new ArdourCanvas::SimpleLine (*group);
                line->property_color_rgba() = ARDOUR_UI::config()->canvasvar_EditPoint.get();
                line->property_x1() = unit_position + shift;
-               line->property_y1() = 0.0;
+               line->property_y1() = y_origin;
                line->property_x2() = unit_position + shift;
-               line->property_y2() = initial_height;
+               line->property_y2() = y_origin + initial_height;
 
                line->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_marker_event), mark, this));
        }