diff --git a/libs/ardour/crossfade.cc b/libs/ardour/crossfade.cc index d2271030a5..b22dd15c9c 100644 --- a/libs/ardour/crossfade.cc +++ b/libs/ardour/crossfade.cc @@ -868,6 +868,11 @@ Crossfade::set_state (const XMLNode& node, int /*version*/) } } + if (_fade_in.size() < 2) { + /* fade state somehow saved with no points */ + return -1; + } + _fade_in.front()->value = 0.0; _fade_in.back()->value = 1.0; @@ -896,6 +901,11 @@ Crossfade::set_state (const XMLNode& node, int /*version*/) } } + if (_fade_out.size() < 2) { + /* fade state somehow saved with no points */ + return -1; + } + _fade_out.front()->value = 1.0; _fade_out.back()->value = 0.0;