Bug 662898. Set canvas drawImage source pattern after any shadow is drawn, so the source doesn't get clobbered by the shadow drawing. r=jrmuizel

This commit is contained in:
Robert O'Callahan 2011-06-13 13:41:51 +12:00
Родитель 7e42e77dc9
Коммит 8647022ee2
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -3437,8 +3437,6 @@ nsCanvasRenderingContext2D::DrawImage(nsIDOMElement *imgElt, float a1,
gfxContextMatrixAutoSaveRestore autoMatrixSR(mThebes);
mThebes->Translate(gfxPoint(dx, dy));
mThebes->SetPattern(pattern);
DirtyAllStyles();
gfxRect clip(0, 0, dw, dh);
@ -3450,6 +3448,7 @@ nsCanvasRenderingContext2D::DrawImage(nsIDOMElement *imgElt, float a1,
if (ctx) {
CopyContext(ctx, mThebes);
ctx->SetPattern(pattern);
ctx->SetOperator(gfxContext::OPERATOR_SOURCE);
ctx->Clip(clip);
ctx->Paint();
@ -3458,6 +3457,9 @@ nsCanvasRenderingContext2D::DrawImage(nsIDOMElement *imgElt, float a1,
}
}
mThebes->SetPattern(pattern);
DirtyAllStyles();
PRBool doUseIntermediateSurface = NeedToUseIntermediateSurface();
if (doUseIntermediateSurface) {
gfxContextAutoSaveRestore autoSR(mThebes);