diff options
author | Robin Gareus <robin@gareus.org> | 2012-11-18 21:22:58 +0000 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2012-11-18 21:22:58 +0000 |
commit | ba7f95191957302867f177aecdb7cc6b8aab4c3c (patch) | |
tree | 2527343732d1aa39623454065b1c6e51fc8cbf8b /libs/evoral/src/Curve.cpp | |
parent | 7b57d47e2592641181d0e87b51ee93e89b4068f2 (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.cpp | 4 |
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; |