Re: gdi32: Correct order of matrix elements in World transform
Oops, this patch is not full. I think, there is code with bad index also: /* Extra transformation specified by caller */ if (lpmat && !is_identity_MAT2(lpmat)) { FT_Matrix extraMat; extraMat.xx = FT_FixedFromFIXED(lpmat->eM11); extraMat.xy = FT_FixedFromFIXED(lpmat->eM21); // <<<<<<< extraMat.yx = FT_FixedFromFIXED(lpmat->eM12); // <<<<<<< extraMat.yy = FT_FixedFromFIXED(lpmat->eM22); pFT_Matrix_Multiply(&extraMat, &transMat); pFT_Matrix_Multiply(&extraMat, &transMatUnrotated); needsTransform = TRUE; } What can I do? Send second fix? Or send "full" patch for both transformations? -- Best regards, Konstantin Kondratyuk.
"Konstantin Kondratyuk" <kondratyuk(a)etersoft.ru> wrote:
Oops, this patch is not full.
I think, there is code with bad index also:
/* Extra transformation specified by caller */ if (lpmat && !is_identity_MAT2(lpmat)) { FT_Matrix extraMat; extraMat.xx = FT_FixedFromFIXED(lpmat->eM11); extraMat.xy = FT_FixedFromFIXED(lpmat->eM21); // <<<<<<< extraMat.yx = FT_FixedFromFIXED(lpmat->eM12); // <<<<<<< extraMat.yy = FT_FixedFromFIXED(lpmat->eM22); pFT_Matrix_Multiply(&extraMat, &transMat); pFT_Matrix_Multiply(&extraMat, &transMatUnrotated); needsTransform = TRUE; }
What can I do? Send second fix? Or send "full" patch for both transformations?
Have you tested your patch? In my tests gdi and freetype differ in matrix usage. -- Dmitry.
participants (2)
-
Dmitry Timoshkov -
Konstantin Kondratyuk