| Index: Source/WebCore/platform/graphics/filters/FilterEffect.cpp
 | 
| ===================================================================
 | 
| --- Source/WebCore/platform/graphics/filters/FilterEffect.cpp	(revision 85546)
 | 
| +++ Source/WebCore/platform/graphics/filters/FilterEffect.cpp	(working copy)
 | 
| @@ -118,10 +118,14 @@
 | 
|  
 | 
|  inline void FilterEffect::copyImageBytes(ByteArray* source, ByteArray* destination, const IntRect& rect)
 | 
|  {
 | 
| -    // Copy the necessary lines.
 | 
| -    if (rect.x() < 0 || rect.y() < 0 || rect.maxY() > m_absolutePaintRect.width() || rect.maxY() > m_absolutePaintRect.height())
 | 
| +    // Initialize the destination to transparent black, if not entirely covered by the source.
 | 
| +    if (rect.x() < 0 || rect.y() < 0 || rect.maxX() > m_absolutePaintRect.width() || rect.maxY() > m_absolutePaintRect.height())
 | 
|          memset(destination->data(), 0, destination->length());
 | 
|  
 | 
| +    // Early return if the rect does not intersect with the source.
 | 
| +    if (rect.maxX() <= 0 || rect.maxY() <= 0 || rect.x() >= m_absolutePaintRect.width() || rect.y() >= m_absolutePaintRect.height())
 | 
| +        return;
 | 
| +
 | 
|      int xOrigin = rect.x();
 | 
|      int xDest = 0;
 | 
|      if (xOrigin < 0) {
 | 
| 
 |