Index: src/core/SkBitmapProcShader.cpp |
diff --git a/src/core/SkBitmapProcShader.cpp b/src/core/SkBitmapProcShader.cpp |
index 006fedf626d64245e08a979afaa691b8a0b1e7ce..d59285074a49fc58a2e11fbfa0be961041c4151a 100644 |
--- a/src/core/SkBitmapProcShader.cpp |
+++ b/src/core/SkBitmapProcShader.cpp |
@@ -284,14 +284,10 @@ bool SkBitmapProcShader::onIsABitmap(SkBitmap* texture, SkMatrix* texM, TileMode |
sk_sp<SkFlattenable> SkBitmapProcShader::CreateProc(SkReadBuffer& buffer) { |
SkMatrix lm; |
buffer.readMatrix(&lm); |
- SkBitmap bm; |
- if (!buffer.readBitmap(&bm)) { |
- return nullptr; |
- } |
- bm.setImmutable(); |
+ sk_sp<SkImage> image = buffer.readBitmapAsImage(); |
f(malita)
2016/07/26 21:29:43
Is nullptr an error condition, and if so should we
reed1
2016/07/29 13:12:04
Done.
|
TileMode mx = (TileMode)buffer.readUInt(); |
TileMode my = (TileMode)buffer.readUInt(); |
- return SkShader::MakeBitmapShader(bm, mx, my, &lm); |
+ return image ? image->makeShader(mx, my, &lm) : nullptr; |
} |
void SkBitmapProcShader::flatten(SkWriteBuffer& buffer) const { |