From: YeshunYe <yeyeshun(a)uniontech.com> If the `FT_MULFIX_ASSEMBLER` macro is not used during the compilation of FreeType, unsigned extension to `FT_Fixed` will cause `FT_MulFix` to produce incorrect results. Signed-off-by: YeshunYe <yeyeshun(a)uniontech.com> --- dlls/win32u/freetype.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/win32u/freetype.c b/dlls/win32u/freetype.c index d1e46a681ea..3c1eb6740a3 100644 --- a/dlls/win32u/freetype.c +++ b/dlls/win32u/freetype.c @@ -544,7 +544,7 @@ static inline FT_Fixed FT_FixedFromFloat(double f) */ static inline FT_Fixed FT_FixedFromFIXED(FIXED f) { - return (FT_Fixed)((int)f.value << 16 | (unsigned int)f.fract); + return (FT_Fixed)(int)((int)f.value << 16 | (unsigned int)f.fract); } static BOOL is_hinting_enabled(void) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7633