| Index: src/core/SkBitmapDevice.cpp
|
| diff --git a/src/core/SkBitmapDevice.cpp b/src/core/SkBitmapDevice.cpp
|
| index 2287864bae6ece04ca7fbf803996630c226e903a..2711004aef14de4fbda9fbe12f2c74b171acdfa5 100644
|
| --- a/src/core/SkBitmapDevice.cpp
|
| +++ b/src/core/SkBitmapDevice.cpp
|
| @@ -70,11 +70,12 @@ SkBitmapDevice::SkBitmapDevice(const SkBitmap& bitmap, const SkDeviceProperties&
|
|
|
| SkBitmapDevice* SkBitmapDevice::Create(const SkImageInfo& origInfo,
|
| const SkDeviceProperties* props) {
|
| - SkImageInfo info = origInfo;
|
| - if (!valid_for_bitmap_device(info, &info.fAlphaType)) {
|
| + SkAlphaType newAT = origInfo.alphaType();
|
| + if (!valid_for_bitmap_device(origInfo, &newAT)) {
|
| return NULL;
|
| }
|
|
|
| + const SkImageInfo info = origInfo.makeAlphaType(newAT);
|
| SkBitmap bitmap;
|
|
|
| if (kUnknown_SkColorType == info.colorType()) {
|
| @@ -150,9 +151,7 @@ bool SkBitmapDevice::onWritePixels(const SkImageInfo& srcInfo, const void* srcPi
|
| return false;
|
| }
|
|
|
| - SkImageInfo dstInfo = fBitmap.info();
|
| - dstInfo.fWidth = srcInfo.width();
|
| - dstInfo.fHeight = srcInfo.height();
|
| + const SkImageInfo dstInfo = fBitmap.info().makeWH(srcInfo.width(), srcInfo.height());
|
|
|
| void* dstPixels = fBitmap.getAddr(x, y);
|
| size_t dstRowBytes = fBitmap.rowBytes();
|
|
|