Bug 960017 - Make the surfaces big enough. r=Bas

--HG--
extra : rebase_source : fc7cafcc7f39bd1f05478230292816d874a7b035
This commit is contained in:
Markus Stange 2014-02-13 12:09:11 +01:00
parent 6ef8e10f62
commit efcd248c39

View File

@ -2260,6 +2260,11 @@ FilterNodeConvolveMatrixSoftware::DoRender(const IntRect& aRect,
}
IntRect srcRect = InflatedSourceRect(aRect);
// Inflate the source rect by another pixel because the bilinear filtering in
// ColorComponentAtPoint may want to access the margins.
srcRect.Inflate(1);
RefPtr<DataSourceSurface> input =
GetInputDataSourceSurface(IN_CONVOLVE_MATRIX_IN, srcRect, NEED_COLOR_CHANNELS, mEdgeMode, &mSourceRect);
@ -3260,6 +3265,11 @@ FilterNodeLightingSoftware<LightType, LightingType>::DoRender(const IntRect& aRe
IntSize size = aRect.Size();
srcRect.Inflate(ceil(float(aKernelUnitLengthX)),
ceil(float(aKernelUnitLengthY)));
// Inflate the source rect by another pixel because the bilinear filtering in
// ColorComponentAtPoint may want to access the margins.
srcRect.Inflate(1);
RefPtr<DataSourceSurface> input =
GetInputDataSourceSurface(IN_LIGHTING_IN, srcRect, CAN_HANDLE_A8,
EDGE_MODE_DUPLICATE);