Index: src/effects/SkXfermodeImageFilter.cpp |
diff --git a/src/effects/SkXfermodeImageFilter.cpp b/src/effects/SkXfermodeImageFilter.cpp |
index ebfd16c4db31b1f7b4c4476ef625317a73f43672..901353fabe7f5df60348082097dd502dc408d6a3 100644 |
--- a/src/effects/SkXfermodeImageFilter.cpp |
+++ b/src/effects/SkXfermodeImageFilter.cpp |
@@ -62,14 +62,13 @@ bool SkXfermodeImageFilter::onFilterImage(Proxy* proxy, |
} |
SkIRect bounds, foregroundBounds; |
- background.getBounds(&bounds); |
- bounds.offset(backgroundOffset); |
- foreground.getBounds(&foregroundBounds); |
- foregroundBounds.offset(foregroundOffset); |
- bounds.join(foregroundBounds); |
- if (!applyCropRect(&bounds, ctx.ctm())) { |
+ if (!applyCropRect(ctx, foreground, foregroundOffset, &foregroundBounds)) { |
+ return false; |
+ } |
+ if (!applyCropRect(ctx, background, backgroundOffset, &bounds)) { |
return false; |
} |
+ bounds.join(foregroundBounds); |
SkAutoTUnref<SkBaseDevice> device(proxy->createDevice(bounds.width(), bounds.height())); |
if (NULL == device.get()) { |