- Do not call BitBlt from StretchBlt when extension matches, this is handled in win32k
- Use GdiGetDcAttr

svn path=/trunk/; revision=65880
This commit is contained in:
Timo Kreuzer 2014-12-29 13:11:35 +00:00
parent e4cf6cd543
commit b818c891bf

View file

@ -66,7 +66,13 @@ MoveToEx(
} }
} }
#endif #endif
if (!GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &pdcattr)) return FALSE; /* Get the DC attribute */
pdcattr = GdiGetDcAttr(hdc);
if (pdcattr == NULL)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
if (ppt) if (ppt)
{ {
@ -852,33 +858,18 @@ StretchBlt(
_In_ INT cySrc, _In_ INT cySrc,
_In_ DWORD dwRop) _In_ DWORD dwRop)
{ {
if ((cxDest != cxSrc) || (cyDest != cySrc)) return NtGdiStretchBlt(hdcDest,
{ xDest,
return NtGdiStretchBlt(hdcDest, yDest,
xDest, cxDest,
yDest, cyDest,
cxDest, hdcSrc,
cyDest, xSrc,
hdcSrc, ySrc,
xSrc, cxSrc,
ySrc, cySrc,
cxSrc, dwRop,
cySrc, 0);
dwRop,
0);
}
return NtGdiBitBlt(hdcDest,
xDest,
yDest,
cxDest,
cyDest,
hdcSrc,
xSrc,
ySrc,
dwRop,
0,
0);
} }