Chromium Code Reviews| Index: src/core/SkMipMap.cpp |
| diff --git a/src/core/SkMipMap.cpp b/src/core/SkMipMap.cpp |
| index 4888b574e4a687c63e400374b99d4c973686535b..ff62f4d59d53b154340d69a611621fec49edc1c7 100644 |
| --- a/src/core/SkMipMap.cpp |
| +++ b/src/core/SkMipMap.cpp |
| @@ -109,21 +109,15 @@ static void downsampleby2_proc4444(SkBitmap* dst, int x, int y, |
| *dst->getAddr16(x >> 1, y >> 1) = (uint16_t)collaps4444(c >> 2); |
| } |
| -static bool isPos32Bits(const Sk64& value) { |
| - return !value.isNeg() && value.is32(); |
| -} |
| - |
| SkMipMap::Level* SkMipMap::AllocLevels(int levelCount, size_t pixelSize) { |
| if (levelCount < 0) { |
| return NULL; |
| } |
| - Sk64 size; |
| - size.setMul(levelCount + 1, sizeof(Level)); |
| - size.add(SkToS32(pixelSize)); |
| - if (!isPos32Bits(size)) { |
| + int64_t size = sk_64_mul(levelCount + 1, sizeof(Level)) + pixelSize; |
|
robertphillips
2013/12/20 16:40:21
same here?
|
| + if (!sk_64_isS32(size)) { |
| return NULL; |
| } |
| - return (Level*)sk_malloc_throw(size.get32()); |
| + return (Level*)sk_malloc_throw(sk_64_asS32(size)); |
| } |
| SkMipMap* SkMipMap::Build(const SkBitmap& src) { |