| Index: cc/stubs/skia_utils.h
|
| diff --git a/cc/stubs/skia_utils.h b/cc/stubs/skia_utils.h
|
| index d7b1fbfb03e533f82bed9d1739540164573c79e7..8404fa322ced67ca195f15b50dae9af6a2aed21e 100644
|
| --- a/cc/stubs/skia_utils.h
|
| +++ b/cc/stubs/skia_utils.h
|
| @@ -5,11 +5,23 @@
|
| #ifndef CC_STUBS_SKIAUTILS_H_
|
| #define CC_STUBS_SKIAUTILS_H_
|
|
|
| +#include <limits>
|
| +
|
| +#include "third_party/skia/include/core/SkScalar.h"
|
| +
|
| namespace cc {
|
|
|
| +// Skia has problems when passed infinite, etc floats, filter them to 0.
|
| inline SkScalar FloatToSkScalar(float f)
|
| {
|
| - return SkFloatToScalar(isfinite(f) ? f : 0);
|
| + // This checks if |f| is NaN.
|
| + if (f != f)
|
| + return 0;
|
| + if (f == std::numeric_limits<double>::infinity())
|
| + return 0;
|
| + if (f == -std::numeric_limits<double>::infinity())
|
| + return 0;
|
| + return SkFloatToScalar(f);
|
| }
|
|
|
| }
|
|
|