[PATCH 0/1] MR8537: widl: Skip writing metadata if winrt_mode is not set.
This can happen when widl is invoked without switches or output filename. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8537
From: Hans Leidekker <hans(a)codeweavers.com> This can happen when widl is invoked without switches or output filename. --- tools/widl/metadata.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/widl/metadata.c b/tools/widl/metadata.c index a9924a8a8da..f77b438c4d0 100644 --- a/tools/widl/metadata.c +++ b/tools/widl/metadata.c @@ -3212,7 +3212,7 @@ void write_metadata( const statement_list_t *stmts ) static const BYTE pad[FILE_ALIGNMENT]; UINT image_size, file_size, i; - if (!do_metadata) return; + if (!do_metadata || !winrt_mode) return; build_streams( stmts ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/8537
Can confirm this fixes the crashes that Firefox guy reported on irc. Looks good to me. (Or at least, it fixes my reduced versions of those crashes, I wasn't able to locate the exact files Firefox uses.) ``` import "unknwn.idl"; [object, uuid(1814ceeb-49e2-407f-af99-fa755a7d2607)] interface ISimpleDOMNode : IUnknown { HRESULT attributesForNames( [out, retval, size_is(5)] int * attribValues ); } ``` ``` import "unknwn.idl"; [object, uuid(E89F726E-C4F4-4c19-BB19-B647D7FA8478)] interface IAccessible2 : IUnknown { [propget] HRESULT windowHandle ( [out] HWND *windowHandle ); } ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8537#note_109321
This merge request was approved by Rémi Bernon. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8537
This merge request was approved by Jacek Caban. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8537
Hi, I reported the build issue with widl in IRC tomorrow and got 🦭 in reply. Here is one of the error output. ``` Executing: mozilla/clang/bin/x86_64-w64-mingw32-widl --win64 -m64 -app_config -I ../../../../other-licenses/ia2 -dlldata Accessible2_dlldata.c -Oicf ../../../../other-licenses/ia2/Accessible2.idl Unhandled type 0. ``` That Accessible2.idl can be found here https://github.com/mozilla-firefox/firefox/blob/main/other-licenses/ia2/Acce... After applying the patch, I get the following error and am not sure if the error is related to widl. ``` Executing: mozilla/clang/bin/x86_64-w64-mingw32-widl --win64 -m64 -app_config -I ../../../../other-licenses/ia2 -Oicf ../../../../accessible/interfaces/ia2/IA2Typelib.idl 0:02.25 error: cannot find oleacc.dll ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8537#note_109324
On Wed Jul 9 14:05:34 2025 +0000, Biswapriyo Nath wrote:
Hi, I reported the build issue with widl in IRC tomorrow and got 🦭 in reply. Here is one of the error output. ``` Executing: mozilla/clang/bin/x86_64-w64-mingw32-widl --win64 -m64 -app_config -I ../../../../other-licenses/ia2 -dlldata Accessible2_dlldata.c -Oicf ../../../../other-licenses/ia2/Accessible2.idl Unhandled type 0. ``` That Accessible2.idl can be found here https://github.com/mozilla-firefox/firefox/blob/main/other-licenses/ia2/Acce... After applying the patch, I get the following error and am not sure if the error is related to widl. ``` Executing: mozilla/clang/bin/x86_64-w64-mingw32-widl --win64 -m64 -app_config -I ../../../../other-licenses/ia2 -Oicf ../../../../accessible/interfaces/ia2/IA2Typelib.idl 0:02.25 error: cannot find oleacc.dll ``` It looks like a widl installation problem, widl should find `oleacc.dll.tlb` inside include directory.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8537#note_109326
On Wed Jul 9 14:05:34 2025 +0000, Jacek Caban wrote:
It looks like a widl installation problem, widl should find `oleacc.dll.tlb` inside include directory. I only copied this patch in mingw-w64 and the widl to clang toolchain directory. If it's wrong, feel free to close this thread.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8537#note_109327
participants (6)
-
Alfred Agrell (@Alcaro) -
Biswapriyo Nath (@Biswa96) -
Hans Leidekker -
Hans Leidekker (@hans) -
Jacek Caban (@jacek) -
Rémi Bernon