diff options
Diffstat (limited to 'libs/evoral/src/ControlList.cpp')
-rw-r--r-- | libs/evoral/src/ControlList.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/libs/evoral/src/ControlList.cpp b/libs/evoral/src/ControlList.cpp index 5d85dfa407..0876cdef28 100644 --- a/libs/evoral/src/ControlList.cpp +++ b/libs/evoral/src/ControlList.cpp @@ -17,6 +17,16 @@ */ #include <cmath> + +#ifdef COMPILER_MSVC +#include <float.h> + +// 'std::isnan()' is not available in MSVC. +#define isnan_local(val) (bool)_isnan((double)val) +#else +#define isnan_local std::isnan +#endif + #include <cassert> #include <utility> #include <iostream> @@ -837,8 +847,7 @@ ControlList::modify (iterator iter, double when, double val) (*iter)->when = when; (*iter)->value = val; - - if (isnan (val)) { + if (isnan_local (val)) { abort (); } |