summaryrefslogtreecommitdiff
path: root/libs/evoral/src/Curve.cpp
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2012-11-18 21:22:58 +0000
committerRobin Gareus <robin@gareus.org>2012-11-18 21:22:58 +0000
commitba7f95191957302867f177aecdb7cc6b8aab4c3c (patch)
tree2527343732d1aa39623454065b1c6e51fc8cbf8b /libs/evoral/src/Curve.cpp
parent7b57d47e2592641181d0e87b51ee93e89b4068f2 (diff)
prevent subveclen to wrap at 2^31
fixes http://pastebin.com/X629ZE7F (Timecode 22h @48k, 512fpp) git-svn-id: svn://localhost/ardour2/branches/3.0@13528 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/evoral/src/Curve.cpp')
-rw-r--r--libs/evoral/src/Curve.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/evoral/src/Curve.cpp b/libs/evoral/src/Curve.cpp
index 3f2ee361d3..6da5db2dd5 100644
--- a/libs/evoral/src/Curve.cpp
+++ b/libs/evoral/src/Curve.cpp
@@ -224,7 +224,7 @@ Curve::_get_vector (double x0, double x1, float *vec, int32_t veclen)
*/
double frac = (min_x - x0) / (x1 - x0);
- int32_t subveclen = (int32_t) floor (veclen * frac);
+ int64_t subveclen = (int64_t) floor (veclen * frac);
subveclen = min (subveclen, veclen);
@@ -242,7 +242,7 @@ Curve::_get_vector (double x0, double x1, float *vec, int32_t veclen)
double frac = (x1 - max_x) / (x1 - x0);
- int32_t subveclen = (int32_t) floor (original_veclen * frac);
+ int64_t subveclen = (int64_t) floor (original_veclen * frac);
float val;