| Index: src/core/SkCanvas.cpp
|
| diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
|
| index 2f6477c41dec49be7cdc59cb3014364efff34a5a..ff74dddab52634f4c22edbcdfd64d8e689fad6b6 100644
|
| --- a/src/core/SkCanvas.cpp
|
| +++ b/src/core/SkCanvas.cpp
|
| @@ -1334,6 +1334,15 @@ SkImageInfo SkCanvas::imageInfo() const {
|
| }
|
| }
|
|
|
| +const SkSurfaceProps* SkCanvas::props() const {
|
| + SkBaseDevice* dev = this->getDevice();
|
| + if (dev) {
|
| + return &fProps;
|
| + } else {
|
| + return nullptr;
|
| + }
|
| +}
|
| +
|
| #ifdef SK_SUPPORT_LEGACY_PEEKPIXELS_PARMS
|
| const void* SkCanvas::peekPixels(SkImageInfo* info, size_t* rowBytes) {
|
| SkPixmap pmap;
|
| @@ -1406,7 +1415,8 @@ void SkCanvas::internalDrawDevice(SkBaseDevice* srcDev, int x, int y,
|
| SkAutoTUnref<SkImageFilter::Cache> cache(dstDev->getImageFilterCache());
|
| SkImageFilter::Context ctx(matrix, clipBounds, cache.get());
|
|
|
| - sk_sp<SkSpecialImage> srcImg(SkSpecialImage::internal_fromBM(&proxy, srcBM));
|
| + sk_sp<SkSpecialImage> srcImg(SkSpecialImage::internal_fromBM(&proxy, srcBM,
|
| + &dstDev->surfaceProps()));
|
| if (!srcImg) {
|
| continue; // something disastrous happened
|
| }
|
|
|