https://bugs.winehq.org/show_bug.cgi?id=38796
Bug ID: 38796 Summary: dwrite analyzer test crashes on my system Product: Wine Version: 1.7.45 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: dwrite Assignee: wine-bugs@winehq.org Reporter: bernhardu@vr-web.de Distribution: Debian
Created attachment 51724 --> https://bugs.winehq.org/attachment.cgi?id=51724 stdout of the test run
See attached file.
For some reason gdiinterop_CreateFontFromLOGFONT seems to fail.
https://bugs.winehq.org/show_bug.cgi?id=38796
--- Comment #1 from Bernhard Übelacker bernhardu@vr-web.de --- In this test the call to create_fontface comes down to systemfontfileenumerator_GetCurrentFontFile.
There it calls RegEnumValueW to enumerate the fonts in HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts. With two calls, one for getting the required buffer length, one to retrieve the content.
In my case the font "Tahoma Bold" has value which is 109 characters long. (I probably have too many subdirectories and the value is generated from drive Z:)
Unfortunately the first call to RegEnumValueW calls NtEnumerateValueKey just with an fixed buffer and returns with a too low needed buffer size.
Then the second call to RegEnumValueW also fails with the too small buffer.
Attached patch changes RegEnumValueW to retrieve the correct needed buffer size.
https://bugs.winehq.org/show_bug.cgi?id=38796
--- Comment #2 from Bernhard Übelacker bernhardu@vr-web.de --- Created attachment 51725 --> https://bugs.winehq.org/attachment.cgi?id=51725 advapi32: Fix RegEnumValueW when enumerating long values.
https://bugs.winehq.org/show_bug.cgi?id=38796
--- Comment #3 from Bernhard Übelacker bernhardu@vr-web.de --- Sent to wine-patches http://source.winehq.org/patches/data/112210
https://bugs.winehq.org/show_bug.cgi?id=38796
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|dwrite |advapi32
https://bugs.winehq.org/show_bug.cgi?id=38796
--- Comment #4 from Bernhard Übelacker bernhardu@vr-web.de --- Even while sent patch fixes the Wine implementation, the tests do not succeed on Windows. So Windows does not to support RegEnumValue being called with value or val_count as NULL.
Currently RegEnumValue is also used that way in Wine itself, so fixing it right now would lead to more problems.
Therefore trying to get something in to have these RegEnumValue covered by tests. Then changing these RegEnumValue uses and as last change RegEnumValue itself.
https://bugs.winehq.org/show_bug.cgi?id=38796
Bernhard Übelacker bernhardu@vr-web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #51725|0 |1 is obsolete| |
https://bugs.winehq.org/show_bug.cgi?id=38796
Bernhard Übelacker bernhardu@vr-web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #5 from Bernhard Übelacker bernhardu@vr-web.de --- A patch fixing this issue got accepted:
http://source.winehq.org/git/wine.git/commit/119501fee8bffcab6ced16282ed12ca...
https://bugs.winehq.org/show_bug.cgi?id=38796
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |119501fee8bffcab6ced16282ed | |12ca7d0f564ec
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com --- Thanks for fixing this.
https://bugs.winehq.org/show_bug.cgi?id=38796
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.47.