On 2012-06-15 03:46, Jacek Caban wrote:
On 06/14/12 11:55, Yaakov (Cygwin/X) wrote:
Both mingw.org and Wine support CINTERFACE wrt the REF*ID defines.

Thanks for the report, I've fixed Wine [1].

Not AFAICS. Look at all the places where REF*ID is taken as an argument which are conditional on CINTERFACE, e.g. later in Wine's guiddef.h, I don't think the CINTERFACE IsEqualGUID is going to work with C++ REF*ID types. Also, you won't be able to test equality with C++ types without the operators.

Look also at mingw-w64's shobjidl.h (among others); the CINTERFACE QueryInterface vfuncs take REF*ID arguments, are those going to compile with C++ REF*ID? I'm sure I could find many more examples, but if you look at all the 183 headers which use CINTERFACE, most (all?) of which use REF*ID types, doesn't it make sense that REF*ID must be C types if CINTERFACE?


Yaakov
Cygwin/X

Reply via email to