| Index: src/effects/SkLightingImageFilter.cpp
|
| diff --git a/src/effects/SkLightingImageFilter.cpp b/src/effects/SkLightingImageFilter.cpp
|
| index 54bb1c890bebe9b71c108051c0c44f9259893707..206be1b62d847fdaa59b033e864f006538db9e6f 100644
|
| --- a/src/effects/SkLightingImageFilter.cpp
|
| +++ b/src/effects/SkLightingImageFilter.cpp
|
| @@ -946,17 +946,19 @@ bool SkDiffuseLightingImageFilter::onFilterImage(Proxy* proxy,
|
| if (src.colorType() != kPMColor_SkColorType) {
|
| return false;
|
| }
|
| - SkIRect bounds;
|
| - if (!this->applyCropRect(ctx, proxy, src, &srcOffset, &bounds, &src)) {
|
| + SkAutoLockPixels alp(src);
|
| + if (!src.getPixels()) {
|
| return false;
|
| }
|
|
|
| - if (bounds.width() < 2 || bounds.height() < 2) {
|
| + SkIRect bounds;
|
| + src.getBounds(&bounds);
|
| + bounds.offset(srcOffset);
|
| + if (!this->applyCropRect(&bounds, ctx.ctm())) {
|
| return false;
|
| }
|
|
|
| - SkAutoLockPixels alp(src);
|
| - if (!src.getPixels()) {
|
| + if (bounds.width() < 2 || bounds.height() < 2) {
|
| return false;
|
| }
|
|
|
| @@ -1037,18 +1039,19 @@ bool SkSpecularLightingImageFilter::onFilterImage(Proxy* proxy,
|
| if (src.colorType() != kPMColor_SkColorType) {
|
| return false;
|
| }
|
| -
|
| - SkIRect bounds;
|
| - if (!this->applyCropRect(ctx, proxy, src, &srcOffset, &bounds, &src)) {
|
| + SkAutoLockPixels alp(src);
|
| + if (!src.getPixels()) {
|
| return false;
|
| }
|
|
|
| - if (bounds.width() < 2 || bounds.height() < 2) {
|
| + SkIRect bounds;
|
| + src.getBounds(&bounds);
|
| + bounds.offset(srcOffset);
|
| + if (!this->applyCropRect(&bounds, ctx.ctm())) {
|
| return false;
|
| }
|
|
|
| - SkAutoLockPixels alp(src);
|
| - if (!src.getPixels()) {
|
| + if (bounds.width() < 2 || bounds.height() < 2) {
|
| return false;
|
| }
|
|
|
|
|