widl generates invalid typelib when an interface extends IAccessible
We're attempting to add accessibility support to Firefox when building with the mingw toolchain which requires implementing the IAccessibility2 interface. However, the typelib (tlb) file that ends up getting generated is invalidated. The generated tlb be partially loaded using oleview.exe but throws up several TYPE_E_ELEMENTNOTFOUND errors and the inherited interfaces are apparently not defined. The interfaces with invalid/undefined inherited interfaces varies depending on the order in which the child interfaces are defined in the source IDL.
I've created a min-repro here: https://github.com/pospeselr/mingw-widl-bug
(you'll need to update the Makefile to point to your local instance of widl)
I tested this with the latest mingw ( commit c61763cc740f8f4986755eeafce832baa3655ee8 ) which uses widl version 4.5.
Mozilla bug tracking mingw accessibility issues: https://bugzilla.mozilla.org/show_bug.cgi?id=1520177
WineHQ bug: https://bugs.winehq.org/show_bug.cgi?id=47031
What is widl? It certainly is not a product either provided by, or supported by MinGW. Thus, I really don't know what you might expect us to do about this — it is not our bug, so I'm closing accordingly.
the widl tool from wine: /mingw-w64-tools/widl
No worries, Zebediah from wine has posted a proposed patch that should hopefully fix our issue.