http://bugs.winehq.org/show_bug.cgi?id=1660
mst@collogia.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mst@collogia.de
--- Comment #25 from mst@collogia.de 2009-09-09 04:22:17 --- Hi,
as far as I got this disassembled in the 1.1.29 the error may be revelead when adding the following code to IDirectDrawImpl_CreatePalette (ddraw_thunks.c lines 245ff)
... if(SUCCEEDED(hr) && *ppPalette) { IDirectDrawPaletteImpl *impl = (IDirectDrawPaletteImpl *)*ppPalette; IDirectDraw7_Release((IDirectDraw7 *)ddraw_from_ddraw1(This));
int *x; x = (int *)ppPalette+1; FIXME("ppPalette+4 = %u\n",*x); ...
This will produce the output:
fixme:ddraw_thunk:IDirectDrawImpl_CreatePalette ppPalette+4 = 1285364 fixme:ddraw_thunk:IDirectDrawImpl_CreatePalette ppPalette+4 = 1285940 fixme:ddraw_thunk:IDirectDrawImpl_CreatePalette ppPalette+4 = 0 wine: Unhandled page fault on read access to 0x00000000 at address 0x401c3a
This corresponds to my observations. CreatePalette is called three times. After the third call it will crash because of this pointer being empty. Maybe anyone has an idea what is going wrong.
Best regards.