From a212e7eec999e696dde6d4747b783fb6098bdb47 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 20 Sep 2010 00:57:44 +0000 Subject: Make sure that _get_vector writes a value to the output array even when veclen == 1. Fixes #3461. git-svn-id: svn://localhost/ardour2/branches/3.0@7808 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/evoral/src/Curve.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'libs/evoral') diff --git a/libs/evoral/src/Curve.cpp b/libs/evoral/src/Curve.cpp index b5338f42a9..d15ff16ea5 100644 --- a/libs/evoral/src/Curve.cpp +++ b/libs/evoral/src/Curve.cpp @@ -264,7 +264,7 @@ Curve::_get_vector (double x0, double x1, float *vec, int32_t veclen) return; } - if (npoints == 1 ) { + if (npoints == 1) { for (i = 0; i < veclen; ++i) { vec[i] = _list.events().front()->value; @@ -308,12 +308,13 @@ Curve::_get_vector (double x0, double x1, float *vec, int32_t veclen) rx = lx; if (veclen > 1) { + dx = (hx - lx) / (veclen - 1); + } else { + dx = 0; + } - dx = (hx - lx) / (veclen-1); - - for (i = 0; i < veclen; ++i, rx += dx) { - vec[i] = multipoint_eval (rx); - } + for (i = 0; i < veclen; ++i, rx += dx) { + vec[i] = multipoint_eval (rx); } } -- cgit v1.2.3