On Thu May 8 01:59:54 2025 +0000, Esme Povirk wrote:
> The stack trace suggests it's GdipFlattenPath that's actually broken. We
> wouldn't have been using it before.
Ok, I have tried to look further into it and found `flatten_bezier` is never left because
most input values are "-nan(ind)" for some reason. Avoiding the call to `flatten_bezier`
in this situation makes the program startup successfully. (See the last file I attached to the bug.)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7654#note_102838
One of them found by @zfigura, the rest found by `grep -rI '\->lpVtbl->' | grep -P '#\s*define\s+I\w*_(\w+)\s*\(.*->lpVtbl->' | grep -vP '#\s*define\s+I\w*_(\w+)\s*\(.*->lpVtbl->(?:\w+_)?\1'`
[02:21:31] \<zf> #define IXACT3Cue_Play(p) (p)->lpVtbl->Destroy(p)
[02:21:44] \<zf> this kind of nonsense is why I want to compile everything with widl
[02:21:56] \<zf> this took me hours to find
--
v3: include/xact3.h: Fix some typoed vtable call macros.
include/xact.h: Fix some typoed vtable call macros.
include/objbase.h: Fix some typoed comments.
include/mapidefs.h: Fix some typoed vtable call macros.
include/dpnathlp.h: Fix a typoed vtable call macro.
include/d3dx9shader.h: Fix a typoed vtable call macro.
include/d3drmobj.h: Fix some typoed vtable call macros.
include/d3d8.h: Fix a typoed vtable call macro.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7989
One of them found by @zfigura, the rest found by `grep -rI '\->lpVtbl->' | grep -P '#\s*define\s+I\w*_(\w+)\s*\(.*->lpVtbl->' | grep -vP '#\s*define\s+I\w*_(\w+)\s*\(.*->lpVtbl->(?:\w+_)?\1'`
[02:21:31] \<zf> #define IXACT3Cue_Play(p) (p)->lpVtbl->Destroy(p)
[02:21:44] \<zf> this kind of nonsense is why I want to compile everything with widl
[02:21:56] \<zf> this took me hours to find
--
v2: include/xact3.h: Fix some typoed vtable call macros.
include/xact.h: Fix some typoed vtable call macros.
include/objbase.h: Fix some typoed comments.
include/mapidefs.h: Fix some typoed vtable call macros.
include/dpnathlp.h: Fix a typoed vtable call macro.
include/d3drmobj.h: Fix some typoed vtable call macros.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7989
One of them found by @zfigura, the rest found by `grep -rI '\->lpVtbl->' | grep -P '#\s*define\s+I\w*_(\w+)\s*\(.*->lpVtbl->' | grep -vP '#\s*define\s+I\w*_(\w+)\s*\(.*->lpVtbl->(?:\w+_)?\1'`
[02:21:31] \<zf> #define IXACT3Cue_Play(p) (p)->lpVtbl->Destroy(p)
[02:21:44] \<zf> this kind of nonsense is why I want to compile everything with widl
[02:21:56] \<zf> this took me hours to find
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7989