Description
Testman: https://reactos.org/sites/all/modules/reactos/testman/compare.php?ids=35479,35482
Running Wine Test, Module: gdi32, Test: MaskBlt
|
MaskBlt.c:92: Test failed: MaskBlt should fail, but succeeded (1)
|
MaskBlt.c:105: Test failed: MaskBlt should fail, but succeeded (1)
|
MaskBlt.c:107: Test failed: MaskBlt should fail, but succeeded (1)
|
Access violation - code c0000005 (!!! second chance !!!)
|
win32k!BltMask+0x2dd:
|
f24f75ad 0fb602 movzx eax,byte ptr [edx]
|
kd> kp
|
ChildEBP RetAddr
|
f1ffe808 f24f6f19 win32k!BltMask(struct _SURFOBJ * psoDest = 0xe1612920, struct _SURFOBJ * psoSource = 0xe16127f8, struct _SURFOBJ * psoMask = 0xe1612728, struct _XLATEOBJ * ColorTranslation = 0xf1ffec00, struct _RECTL * prclDest = 0xf1ffe8a4, struct _POINTL * pptlSource = 0xf1ffe8d4, struct _POINTL * pptlMask = 0xf1ffec4c, struct _BRUSHOBJ * pbo = 0xe1612e04, struct _POINTL * pptlBrush = 0xf1ffe84c, unsigned long Rop4 = 0xaacc)+0x2dd [c:\ros\reactos-clean\reactos\win32ss\gdi\eng\bitblt.c @ 133]
|
f1ffeb0c f24f7bc3 win32k!EngBitBlt(struct _SURFOBJ * psoTrg = 0xe1612920, struct _SURFOBJ * psoSrc = 0xe16127f8, struct _SURFOBJ * psoMask = 0xe1612728, struct _CLIPOBJ * pco = 0x00000000, struct _XLATEOBJ * pxlo = 0xf1ffec00, struct _RECTL * prclTrg = 0xf1ffeb84, struct _POINTL * pptlSrc = 0xf1ffeb6c, struct _POINTL * pptlMask = 0xf1ffec4c, struct _BRUSHOBJ * pbo = 0xe1612e04, struct _POINTL * pptlBrush = 0xf1ffeb5c, unsigned long rop4 = 0xaacc)+0x4b9 [c:\ros\reactos-clean\reactos\win32ss\gdi\eng\bitblt.c @ 505]
|
f1ffeba4 f2594475 win32k!IntEngBitBlt(struct _SURFOBJ * psoTrg = 0xe1612920, struct _SURFOBJ * psoSrc = 0xe16127f8, struct _SURFOBJ * psoMask = 0xe1612728, struct _CLIPOBJ * pco = 0x00000000, struct _XLATEOBJ * pxlo = 0xf1ffec00, struct _RECTL * prclTrg = 0xf1ffec84, struct _POINTL * pptlSrc = 0xf1ffeb6c, struct _POINTL * pptlMask = 0xf1ffec4c, struct _BRUSHOBJ * pbo = 0xe1612e04, struct _POINTL * pptlBrush = 0xe1117d88, unsigned long Rop4 = 0xaacc)+0x2b3 [c:\ros\reactos-clean\reactos\win32ss\gdi\eng\bitblt.c @ 709]
|
f1ffecd0 80545559 win32k!NtGdiMaskBlt(struct HDC__ * hdcDest = 0x0001017d, int nXDest = 0, int nYDest = 0, int nWidth = 4, int nHeight = 1, struct HDC__ * hdcSrc = 0x0001017f, int nXSrc = 0, int nYSrc = 0, struct HBITMAP__ * hbmMask = 0x01050181, int xMask = 0, int yMask = 1, unsigned long dwRop4 = 0xaacc0020, unsigned long crBackColor = 0xffffff)+0x595 [c:\ros\reactos-clean\reactos\win32ss\gdi\ntgdi\bitblt.c @ 485]
|
f1ffed14 8054506d nt!KiSystemCallTrampoline(void * Handler = 0xf2593ee0, void * Arguments = 0x0012fd28, unsigned long StackBytes = 0x34)+0x19 [c:\ros\reactos-clean\reactos\ntoskrnl\include\internal\i386\ke.h @ 725]
|
f1ffed5c 80403e03 nt!KiSystemServiceHandler(struct _KTRAP_FRAME * TrapFrame = 0xf1ffed64, void * Arguments = 0x0012fd28)+0x23d [c:\ros\reactos-clean\reactos\ntoskrnl\ke\i386\traphdlr.c @ 1716]
|
f1ffed5c 7c92fdce nt!KiFastCallEntry+0x8c
|
0012fd1c 77bdfa1d ntdll!KiFastSystemCallRet
|
0012fd20 77bc1b29 gdi32!ZwGdiMaskBlt+0xc
|
0012fd68 004349a9 gdi32!MaskBlt(struct HDC__ * hdcDest = 0x0001017d, int xDest = 0, int yDest = 0, int cx = 4, int cy = 1, struct HDC__ * hdcSrc = 0x0001017f, int xSrc = 0, int ySrc = 0, struct HBITMAP__ * hbmMask = 0x01050181, int xMask = 0, int yMask = 1, unsigned long dwRop = 0xaacc0020)+0xb9 [c:\ros\reactos-clean\reactos\win32ss\gdi\gdi32\objects\painting.c @ 614]
|
0012fe1c 0043580d gdi32_apitest!Test_MaskBlt_1bpp(void)+0x6c9 [c:\ros\reactos-clean\reactos\modules\rostests\apitests\gdi32\maskblt.c @ 108]
|
0012fe24 00440934 gdi32_apitest!func_MaskBlt(void)+0xd [c:\ros\reactos-clean\reactos\modules\rostests\apitests\gdi32\maskblt.c @ 261]
|
0012fe40 004407c8 gdi32_apitest!run_test(char * name = 0x00134b78 "MaskBlt")+0xa4 [c:\ros\reactos-clean\reactos\include\reactos\wine\test.h @ 615]
|
0012fedc 0044190c gdi32_apitest!main(int argc = 2, char ** argv = 0x00133b68)+0x188 [c:\ros\reactos-clean\reactos\include\reactos\wine\test.h @ 671]
|
0012ffb4 00441646 gdi32_apitest!__tmainCRTStartup(void)+0x2ac [c:\ros\reactos-clean\reactos\lib\sdk\crt\startup\crtexe.c @ 310]
|
0012ffc0 77d93939 gdi32_apitest!mainCRTStartup(void)+0x26 [c:\ros\reactos-clean\reactos\lib\sdk\crt\startup\crtexe.c @ 196]
|
0012fff0 00000000 kernel32!BaseProcessStartup(<function> * lpStartAddress = 0x00441620)+0x69 [c:\ros\reactos-clean\reactos\dll\win32\kernel32\client\proc.c @ 478]
|
kd> ?? pjMskCurrent
|
unsigned char * 0x005efffc
|
"--- memory read error at address 0x005efffc ---"
|
kd> ?? pjMskLine
|
unsigned char * 0x005efffc
|
"--- memory read error at address 0x005efffc ---"
|
kd> ?? psoMask
|
struct _SURFOBJ * 0xe1612728
|
+0x000 dhsurf : (null)
|
+0x004 hsurf : 0x01050181 HSURF__
|
+0x008 dhpdev : (null)
|
+0x00c hdev : (null)
|
+0x010 sizlBitmap : tagSIZE
|
+0x018 cjBits : 4
|
+0x01c pvBits : 0x005f0000 Void
|
+0x020 pvScan0 : 0x005f0000 Void
|
+0x024 lDelta : 0xfffffffc
|
+0x028 iUniq : 0x14ae
|
+0x02c iBitmapFormat : 1
|
+0x030 iType : 0
|
+0x032 fjBitmap : 0xe
|
kd> ?? pptlMask
|
struct _POINTL * 0xf1ffec4c
|
+0x000 x : 0
|
+0x004 y : 1
|
kd> ?? psurfMask
|
struct _SURFACE * 0xe1612718
|
+0x000 BaseObject : _BASEOBJECT
|
+0x010 SurfObj : _SURFOBJ
|
+0x044 flags : 0x4000000
|
+0x048 ppal : 0xe16126c8 _PALETTE
|
+0x04c hSecureUMPD : (null)
|
+0x04c hMirrorParent : (null)
|
+0x04c hDDSurface : (null)
|
+0x050 sizlDim : tagSIZE
|
+0x058 hdc : (null)
|
+0x05c cRef : 0
|
+0x060 hpalHint : (null)
|
+0x064 hDIBSection : (null)
|
+0x068 hSecure : 0x00000001 Void
|
+0x06c dwOffset : 0
|
+0x070 biClrImportant : 0
|
The mask surface object has a negative lDelta.