| Index: src/gpu/SkGpuDevice.cpp
 | 
| diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
 | 
| index eaac5ab12c0a50264b65689c2f7d6701f1d5b662..4456f513c4806258a8219dcd9f5c279afaa6e323 100644
 | 
| --- a/src/gpu/SkGpuDevice.cpp
 | 
| +++ b/src/gpu/SkGpuDevice.cpp
 | 
| @@ -1387,7 +1387,7 @@ void SkGpuDevice::drawSprite(const SkDraw& draw, const SkBitmap& bitmap,
 | 
|      SkAutoCachedTexture act(this, bitmap, NULL, &texture);
 | 
|  
 | 
|      SkImageFilter* filter = paint.getImageFilter();
 | 
| -    SkIPoint offset = SkIPoint::Make(0, 0);
 | 
| +    SkIPoint offset = SkIPoint::Make(left, top);
 | 
|      // This bitmap will own the filtered result as a texture.
 | 
|      SkBitmap filteredBitmap;
 | 
|  
 | 
| @@ -1396,6 +1396,8 @@ void SkGpuDevice::drawSprite(const SkDraw& draw, const SkBitmap& bitmap,
 | 
|              texture = (GrTexture*) filteredBitmap.getTexture();
 | 
|              w = filteredBitmap.width();
 | 
|              h = filteredBitmap.height();
 | 
| +        } else {
 | 
| +            return;
 | 
|          }
 | 
|      }
 | 
|  
 | 
| @@ -1407,12 +1409,12 @@ void SkGpuDevice::drawSprite(const SkDraw& draw, const SkBitmap& bitmap,
 | 
|      }
 | 
|  
 | 
|      fContext->drawRectToRect(grPaint,
 | 
| -                             SkRect::MakeXYWH(SkIntToScalar(left),
 | 
| -                                              SkIntToScalar(top),
 | 
| -                                              SkIntToScalar(w),
 | 
| -                                              SkIntToScalar(h)),
 | 
|                               SkRect::MakeXYWH(SkIntToScalar(offset.fX),
 | 
|                                                SkIntToScalar(offset.fY),
 | 
| +                                              SkIntToScalar(w),
 | 
| +                                              SkIntToScalar(h)),
 | 
| +                             SkRect::MakeXYWH(0,
 | 
| +                                              0,
 | 
|                                                SK_Scalar1 * w / texture->width(),
 | 
|                                                SK_Scalar1 * h / texture->height()));
 | 
|  }
 | 
| @@ -1481,6 +1483,8 @@ void SkGpuDevice::drawDevice(const SkDraw& draw, SkDevice* device,
 | 
|              h = filteredBitmap.height();
 | 
|              x += offset.fX;
 | 
|              y += offset.fY;
 | 
| +        } else {
 | 
| +            return;
 | 
|          }
 | 
|      }
 | 
|  
 | 
| 
 |