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