From 9c4eb28cb5197d8d8dc855c1fbe9e505f8221153 Mon Sep 17 00:00:00 2001 From: Jeff Muizelaar Date: Tue, 29 Jun 2010 16:31:20 -0400 Subject: [PATCH] Backout f298567cdf2c. Causes problems on linux --- content/canvas/src/nsCanvasRenderingContext2D.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/content/canvas/src/nsCanvasRenderingContext2D.cpp b/content/canvas/src/nsCanvasRenderingContext2D.cpp index 3d9e43698ad..b4ed4a65a8b 100644 --- a/content/canvas/src/nsCanvasRenderingContext2D.cpp +++ b/content/canvas/src/nsCanvasRenderingContext2D.cpp @@ -3265,6 +3265,17 @@ nsCanvasRenderingContext2D::DrawImage(nsIDOMElement *imgElt, float a1, mThebes->Paint(CurrentState().globalAlpha); } +#if 1 + // XXX cairo bug workaround; force a clip update on mThebes. + // Otherwise, a pixman clip gets left around somewhere, and pixman + // (Render) does source clipping as well -- so we end up + // compositing with an incorrect clip. This only seems to affect + // fallback cases, which happen when we have CSS scaling going on. + // This will blow away the current path, but we already blew it + // away in this function earlier. + mThebes->UpdateSurfaceClip(); +#endif + FINISH: if (NS_SUCCEEDED(rv)) rv = Redraw(dirty);