https://bugs.winehq.org/show_bug.cgi?id=53795
Bug ID: 53795 Summary: Emojis crash Naver LINE (and possibly all Qt applications) Product: Wine Version: 7.19 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdi32 Assignee: wine-bugs@winehq.org Reporter: pq2sx44teeigl7za@chyen.cc Distribution: ---
Created attachment 73289 --> https://bugs.winehq.org/attachment.cgi?id=73289 Source of a trivial Qt application to reproduce the issue
Naver LINE (installer at [1]) crashes if I paste some kinds of emojis, like ???? (U+1F972) or ???? (U+1F970). Crashes happen with all kinds of text boxes, including username in the login dialog, search box and messaging dialog. Crash does not happen if I uninstalled the Noto Color Emoji font [2].
Without WINEDEBUG, crashes are intermittent. With WINEDEBUG=+font, I always get crashes.
The issue can be reproduced with a trivial Qt application (source attached). The backtrace from a Qt 5.12.12 MinGW debug build [3] is also attached.
From the backtrace, Qt crashes when trying to get the string from otm->otmpFullName [4]. In a gdb session, the address (otm + otm->otmpFullName) points to an invalid address (needs to add otm per [5]). Apparently GetOutlineTextMetrics does not correctly assign that pointer.
[1] https://desktop.line-scdn.net/win/new/LineInst.exe [2] https://archlinux.org/packages/extra/any/noto-fonts-emoji/ [3] https://download.qt.io/archive/qt/5.12/5.12.12/qt-opensource-windows-x86-5.1... [4] https://github.com/qt/qtbase/blob/v5.12.12/src/platformsupport/fontdatabases... [5] https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-outline...