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?
"Konstantin Kondratyuk" kondratyuk@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.