Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
michael@0 | 1 | diff --git a/gfx/skia/src/effects/SkGradientShader.cpp b/gfx/skia/src/effects/SkGradientShader.cpp |
michael@0 | 2 | --- a/gfx/skia/src/effects/SkGradientShader.cpp |
michael@0 | 3 | +++ b/gfx/skia/src/effects/SkGradientShader.cpp |
michael@0 | 4 | @@ -1665,17 +1665,20 @@ public: |
michael@0 | 5 | } |
michael@0 | 6 | return kRadial2_GradientType; |
michael@0 | 7 | } |
michael@0 | 8 | |
michael@0 | 9 | virtual void shadeSpan(int x, int y, SkPMColor* SK_RESTRICT dstC, int count) SK_OVERRIDE { |
michael@0 | 10 | SkASSERT(count > 0); |
michael@0 | 11 | |
michael@0 | 12 | // Zero difference between radii: fill with transparent black. |
michael@0 | 13 | - if (fDiffRadius == 0) { |
michael@0 | 14 | + // TODO: Is removing this actually correct? Two circles with the |
michael@0 | 15 | + // same radius, but different centers doesn't sound like it |
michael@0 | 16 | + // should be cleared |
michael@0 | 17 | + if (fDiffRadius == 0 && fCenter1 == fCenter2) { |
michael@0 | 18 | sk_bzero(dstC, count * sizeof(*dstC)); |
michael@0 | 19 | return; |
michael@0 | 20 | } |
michael@0 | 21 | SkMatrix::MapXYProc dstProc = fDstToIndexProc; |
michael@0 | 22 | TileProc proc = fTileProc; |
michael@0 | 23 | const SkPMColor* SK_RESTRICT cache = this->getCache32(); |
michael@0 | 24 | |
michael@0 | 25 | SkScalar foura = fA * 4; |