Roderick Colenbrander <thunderbird2k(a)gmail.com> writes:
> Hi,
>
> While working on some other patches, I spotted a small error in the
> call to surface_get_rect for the source rectangle. I was passing
> 'This' (destination) instead of Src.
It doesn't work:
../../../tools/runtest -q -P wine -M ddraw.dll -T ../../.. -p ddraw_test.exe.so visual.c && touch visual.ok
wine: Unhandled page fault on read access to 0x00000050 at address 0x68e87fc9 (thread 0024), starting debugger...
Unhandled exception: page fault on read access to 0x00000050 in 32-bit code (0x68e87fc9).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:68e87fc9 ESP:0032f110 EBP:0032f248 EFLAGS:00010246( R- -- I Z- -P- )
EAX:00000001 EBX:68ed8d20 ECX:00000280 EDX:00000000
ESI:00000000 EDI:000001e0
Stack dump:
0x0032f110: 00146350 68ed2dbc 0032f228 00110014
0x0032f120: beef0202 7d7fb5c0 7bc4907b 68ed8d20
0x0032f130: 00147240 00000072 0032f198 68df9e66
0x0032f140: 00147240 00000080 00000080 00000001
0x0032f150: 0012fc70 00000000 00000072 00000000
0x0032f160: 00147000 686cb060 00000000 00010000
Backtrace:
=>0 0x68e87fc9 IWineD3DSurfaceImpl_BltOverride+0x1529(This=<is not available>, DestRect=<is not available>, SrcSurface=(nil), SrcRect=(nil), Flags=0x1000400, DDBltFx=0x32fa9c, Filter=WINED3DTEXF_POINT) [/home/julliard/wine/wine/dlls/wined3d/surface.c:284] in wined3d (0x0032f248)
1 0x68e8b1e7 IWineD3DSurfaceImpl_Blt+0xb7(iface=<register ESI not in topmost frame>, DestRect=(nil), SrcSurface=<register EDI not in topmost frame>, SrcRect=(nil), Flags=0x1000400, DDBltFx=0x32fa9c, Filter=WINED3DTEXF_POINT) [/home/julliard/wine/wine/dlls/wined3d/surface.c:4271] in wined3d (0x0032f2d8)
2 0x686ae1bb IDirectDrawSurfaceImpl_Blt+0x1ab(iface=0x12b888, DestRect=<register ESI not in topmost frame>, SrcSurface=(nil), SrcRect=(nil), Flags=<register EDI not in topmost frame>, DDBltFx=0x32fa9c) [/home/julliard/wine/wine/dlls/ddraw/surface.c:806] in ddraw (0x0032f348)
3 0x686b0717 IDirectDrawSurface3Impl_Blt+0x47(This=0x12b88c, prcDst=(nil), pSrcSurf=(nil), prcSrc=(nil), dwFlags=0x1000400, pFX=0x32fa9c) [/home/julliard/wine/wine/dlls/ddraw/surface_thunks.c:113] in ddraw (0x0032f378)
4 0x68663213 D3D1_TextureMapBlendTest+0x263() [/home/julliard/wine/wine/dlls/ddraw/tests/visual.c:1302] in ddraw_test (0x0032fb88)
5 0x68669bb5 func_visual+0x1375() [/home/julliard/wine/wine/dlls/ddraw/tests/visual.c:2979] in ddraw_test (0x0032fd48)
6 0x6866a82e run_test+0x14e(name=<is not available>) [/home/julliard/wine/wine/dlls/ddraw/tests/../../../include/wine/test.h:543] in ddraw_test (0x0032fd98)
7 0x6866aa02 main+0x132(argc=<couldn't compute location>, argv=<couldn't compute location>) [/home/julliard/wine/wine/dlls/ddraw/tests/../../../include/wine/test.h:592] in ddraw_test (0x0032fe58)
8 0x6866ab9c __wine_spec_exe_entry+0x7c(peb=0x7ffdf000) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:37] in ddraw_test (0x0032fea8)
9 0x7b8584c4 start_process+0x54(peb=<register ESI not in topmost frame>) [/home/julliard/wine/wine/dlls/kernel32/process.c:989] in kernel32 (0x0032fee8)
10 0x7bc71344 call_thread_func+0xc() in ntdll (0x0032fef8)
11 0x7bc71510 call_thread_entry_point+0x70(entry=0x7b858470, arg=0x7ffdf000) [/home/julliard/wine/wine/dlls/ntdll/signal_i386.c:2459] in ntdll (0x0032ffc8)
12 0x7bc4cfca in ntdll (+0x3cfca) (0x0032ffe8)
0x68e87fc9 IWineD3DSurfaceImpl_BltOverride+0x1529 [/home/julliard/wine/wine/dlls/wined3d/surface.c:284] in wined3d: movl 0x50(%edx),%eax
284 rect_out->right = This->currentDesc.Width;
--
Alexandre Julliard
julliard(a)winehq.org