MSVC: Silence compiler warning about INFINITY
Contrary to the comment, MSVC does support INFINITY, but always prints a warning when it's used: qpainterpath.cpp(3066) : warning C4756: overflow in constant arithmetic Avoid this by using numeric_limits<T>::infinity. Change-Id: Ie925b036b807378da5298a275fa108347c24519e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
This commit is contained in:
parent
e5eb36feb2
commit
dad54e794f
@ -3057,20 +3057,19 @@ qreal QPainterPath::slopeAtPercent(qreal t) const
|
||||
//tangent line
|
||||
qreal slope = 0;
|
||||
|
||||
#define SIGN(x) ((x < 0)?-1:1)
|
||||
if (m1)
|
||||
slope = m2/m1;
|
||||
else {
|
||||
//windows doesn't define INFINITY :(
|
||||
#ifdef INFINITY
|
||||
slope = INFINITY*SIGN(m2);
|
||||
#else
|
||||
if (std::numeric_limits<qreal>::has_infinity) {
|
||||
slope = (m2 < 0) ? -std::numeric_limits<qreal>::infinity()
|
||||
: std::numeric_limits<qreal>::infinity();
|
||||
} else {
|
||||
if (sizeof(qreal) == sizeof(double)) {
|
||||
return 1.79769313486231570e+308;
|
||||
} else {
|
||||
return ((qreal)3.40282346638528860e+38);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
return slope;
|
||||
|
Loading…
x
Reference in New Issue
Block a user