Index: src/gpu/GrRecordReplaceDraw.cpp |
diff --git a/src/gpu/GrRecordReplaceDraw.cpp b/src/gpu/GrRecordReplaceDraw.cpp |
index 234f92f24f9ae6d0cd1f3fe54b1a23ce8ff6816f..dacc939e62693cb4d64f4f93b2347a74b090c590 100644 |
--- a/src/gpu/GrRecordReplaceDraw.cpp |
+++ b/src/gpu/GrRecordReplaceDraw.cpp |
@@ -22,6 +22,12 @@ static inline void wrap_texture(GrTexture* texture, int width, int height, SkBit |
static inline void draw_replacement_bitmap(GrCachedLayer* layer, SkCanvas* canvas) { |
+ // Some image filter can totally filter away a layer (e.g., SkPictureImageFilter's with |
+ // no picture). |
+ if (!layer->texture()) { |
+ return; |
+ } |
+ |
SkBitmap bm; |
wrap_texture(layer->texture(), |
!layer->isAtlased() ? layer->rect().width() : layer->texture()->width(), |