}
void
-AutomationLine::show ()
+AutomationLine::update_visibility ()
{
if (_visible & Line) {
/* Only show the line there are some points, otherwise we may show an out-of-date line
} else {
line->hide ();
+ for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
+ (*i)->hide ();
+ }
}
}
line->set (line_points);
- /* despite the name, this may show or hide things */
-
- show();
+ update_visibility ();
}
set_selected_points (trackview.editor().get_selection().points);
_visible = VisibleAspects (_visible | va);
if (old != _visible) {
- show ();
+ update_visibility ();
}
}
{
if (_visible != va) {
_visible = va;
- show ();
+ update_visibility ();
}
}
_visible = VisibleAspects (_visible & ~va);
if (old != _visible) {
- show ();
+ update_visibility ();
}
}