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
objects.





Reply via email to