http://bugs.winehq.org/show_bug.cgi?id=14787
Summary: widl fails to honour typedef ptr attributes Product: Wine Version: CVS/GIT Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: rpc AssignedTo: wine-bugs@winehq.org ReportedBy: huw@codeweavers.com CC: robertshearman@gmail.com, dsh@linux.ucla.edu
See dlls/rpcrt4/epm_c.c . For example the 'object' parameter of ept_map().
We have (in include/wine/dcetypes.idl) typedef [ptr] GUID *uuid_p_t;
and (in include/wine/epm.idl) ept_map(..., uuid_p_t object, ...)
So 'object' should be a full ptr, which is what midl generates. On the other hand widl generates a reference ptr.
It looks like this should be fixed up in parser.y:set_type() somewhere.