widl: Fix the writing typedefs to dispinterfaces and pointers to interfaces.

Rob Shearman robertshearman at gmail.com
Wed Sep 10 02:00:27 CDT 2008


Currently, stdole2.tlb isn't generated correctly and causes "<failed>"
to appear instead of "FontEvents" in the IFontEventsDisp typedef when
viewed with oleview.

The problem is that the typedef should just generate a VT_USERDEFINED
record, but ends up generating a VT_PTR -> VT_USERDEFINED. So remove
the extra writing of VT_PTR entries.

Fix the skipped pointers checks in encode_type and encode_type to
specifically detect VT_UNKNOWN and VT_DISPATCH types which don't need
one level of pointers, whereas interfaces encoded as VT_USERDEFINED
do.
---
 tools/widl/write_msft.c |   26 ++++++--------------------
 1 files changed, 6 insertions(+), 20 deletions(-)

Fixes regression caused by this commit:
http://source.winehq.org/git/wine.git/?a=commit;h=ada3ca6f0990b265baff0c29f621cb9c4afd401f
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2166268c3b0d5e94f12fdbe66edd8b3639a103ca.diff
Type: text/x-patch
Size: 2123 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080910/5aa9f32d/attachment-0001.bin 


More information about the wine-patches mailing list