SIGSEGV in IDirectDrawImpl_EnumDisplayModes (test program)

Lionel Ulmer lionel.ulmer at free.fr
Fri Nov 1 12:27:27 CST 2002


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

-- 
		 Lionel Ulmer - http://www.bbrox.org/



More information about the wine-devel mailing list