- safeBits = ExAllocatePoolWithTag(PagedPool, cjMaxBits, TAG_DIB);
- if(!safeBits)
- {
- EngSetLastError(ERROR_NOT_ENOUGH_MEMORY);
- return 0;
- }
+ safeBits = ExAllocatePoolWithTag(PagedPool, cjMaxBits, TAG_DIB);
+ if(!safeBits)
+ {
+ EngSetLastError(ERROR_NOT_ENOUGH_MEMORY);
+ return 0;
+ }
- {
- ExFreePoolWithTag(safeBits, TAG_DIB);
- EngSetLastError(ERROR_INVALID_HANDLE);
- return 0;
- }
+ {
+ ExFreePoolWithTag(safeBits, TAG_DIB);
+ EngSetLastError(ERROR_INVALID_HANDLE);
+ return 0;
+ }
ret = IntGdiGetObject(hBitmap, sizeof(bmp), &bmp) == sizeof(bmp);
if (ret &&
bmp.bmBitsPixel == bpp &&
ret = IntGdiGetObject(hBitmap, sizeof(bmp), &bmp) == sizeof(bmp);
if (ret &&
bmp.bmBitsPixel == bpp &&
- bmp.bmWidth == SrcWidth &&
- bmp.bmHeight == SrcHeight &&
- bmp.bmPlanes == planes)
- {
- /* fast path */
+ bmp.bmWidth == SrcWidth &&
+ bmp.bmHeight == SrcHeight &&
+ bmp.bmPlanes == planes)
+ {
+ /* fast path */
ret = IntSetDIBits(pdc, hBitmap, 0, height, safeBits, BitsInfo, Usage);
goto cleanup;
ret = IntSetDIBits(pdc, hBitmap, 0, height, safeBits, BitsInfo, Usage);
goto cleanup;
- hBitmap = DIB_CreateDIBSection(pdc, BitsInfo, Usage, &pvBits, NULL, 0, 0);
- if(!hBitmap)
- {
- DPRINT1("Error, failed to create a DIB section\n");
- NtGdiDeleteObjectApp(hdcMem);
- goto cleanup;
- }
+ hBitmap = DIB_CreateDIBSection(pdc, BitsInfo, Usage, &pvBits, NULL, 0, 0);
+ if(!hBitmap)
+ {
+ DPRINT1("Error, failed to create a DIB section\n");
+ NtGdiDeleteObjectApp(hdcMem);
+ goto cleanup;
+ }
ret = NtGdiStretchBlt(hDC, XDest, YDest, DestWidth, DestHeight,
ret = NtGdiStretchBlt(hDC, XDest, YDest, DestWidth, DestHeight,
- hdcMem, XSrc, abs(height) - SrcHeight - YSrc,
+ hdcMem, XSrc, abs(height) - SrcHeight - YSrc,
SrcWidth, SrcHeight, ROP, 0);
SrcWidth, SrcHeight, ROP, 0);
NtGdiSelectBitmap(hdcMem, hOldBitmap);
NtGdiDeleteObjectApp(hdcMem);
GreDeleteObject(hBitmap);
cleanup:
NtGdiSelectBitmap(hdcMem, hOldBitmap);
NtGdiDeleteObjectApp(hdcMem);
GreDeleteObject(hBitmap);
cleanup: