SIGSEGV in IDirectDrawImpl_EnumDisplayModes (test program)

Christian Costa titan.costa at
Thu Nov 28 01:22:32 CST 2002

Lionel Ulmer wrote:

>Well, the problem seems to come from an incompatibility between g++ and the
>way Wine defines COM objects. From my experiences, the g++ vtable starts at
>offset 8 whereas Wine defines COM object vtables as starting at offset 0 (ie
>vtable[0] == first method whereas for g++ vtable[2] == first method).
>Now as this is a purely WineLib problem, I will let people more competent
>than me solve the issue, it's just not DirectDraw related at all, but COM
>related... From what I could find out in 'obj_base.h', you should try
>rebuilding Wine with the 'ICOM_MSVTABLE_COMPAT' define set to 1 (and read
>the relevant warning in the associated comment of course :-) ).
>                 Lionel
I've looked at what's done with ICOM_MSVTABLE_COMPAT and it seems
that if you recompile WINE with it, this will break native apps that use COM

More information about the wine-devel mailing list