gdiplus: Better error checking in GdipBitmapLockBits.

This commit is contained in:
Evan Stade 2007-08-09 18:25:27 -07:00 committed by Alexandre Julliard
parent 96a69f0508
commit ff752456e1
1 changed files with 6 additions and 2 deletions

View File

@ -142,16 +142,20 @@ GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap* bitmap, GDIPCONST GpRect* rect,
stride = (stride + 3) & ~3;
buff = GdipAlloc(stride * abs_height);
if(!buff) return OutOfMemory;
bmi.bmiHeader.biBitCount = bitspp;
GetDIBits(hdc, (HBITMAP)hbm, 0, abs_height, buff, &bmi, DIB_RGB_COLORS);
if(buff)
GetDIBits(hdc, (HBITMAP)hbm, 0, abs_height, buff, &bmi, DIB_RGB_COLORS);
if(!bm_is_selected){
SelectObject(hdc, old);
DeleteDC(hdc);
}
if(!buff)
return OutOfMemory;
lockeddata->Width = rect->Width;
lockeddata->Height = rect->Height;
lockeddata->PixelFormat = format;