Bug 950550. Restore the transform in DrawTargetCairo::PopClip. r=jrmuizel

--HG--
extra : rebase_source : 999f2d3794de202f68bf4adee8f4b0034e5f91b6
This commit is contained in:
Nicholas Cameron 2014-01-07 11:27:03 +13:00
parent 680bbd6bf9
commit e2ed561e72

View File

@ -995,7 +995,18 @@ void
DrawTargetCairo::PopClip()
{
// save/restore does not affect the path, so no need to call WillChange()
// cairo_restore will restore the transform too and we don't want to do that
// so we'll save it now and restore it after the cairo_restore
cairo_matrix_t mat;
cairo_get_matrix(mContext, &mat);
cairo_restore(mContext);
cairo_set_matrix(mContext, &mat);
MOZ_ASSERT(GetTransform() == Matrix(mat.xx, mat.yx, mat.xy, mat.yy, mat.x0, mat.y0),
"Transforms are out of sync");
}
TemporaryRef<PathBuilder>