Index: reactos/win32ss/gdi/ntgdi/dibobj.c =================================================================== --- reactos/win32ss/gdi/ntgdi/dibobj.c (revision 74405) +++ reactos/win32ss/gdi/ntgdi/dibobj.c (working copy) @@ -1183,7 +1183,7 @@ IN UINT cjMaxBits, IN HANDLE hcmXform) { - BOOL bResult = FALSE; + INT nRet = 0; SIZEL sizel; RECTL rcSrc, rcDst; PDC pdc; @@ -1297,7 +1297,7 @@ if (!hbmTmp) { - bResult = FALSE; + nRet = 0; goto cleanup; } @@ -1304,7 +1304,7 @@ psurfTmp = SURFACE_ShareLockSurface(hbmTmp); if (!psurfTmp) { - bResult = FALSE; + nRet = 0; goto cleanup; } @@ -1312,7 +1312,7 @@ ppalDIB = CreateDIBPalette(pbmi, pdc, dwUsage); if (!ppalDIB) { - bResult = FALSE; + nRet = 0; goto cleanup; } @@ -1330,18 +1330,22 @@ pdc->pdcattr->crForegroundClr); /* Perform the stretch operation */ - bResult = IntEngStretchBlt(&psurfDst->SurfObj, - &psurfTmp->SurfObj, - NULL, - &pdc->co.ClipObj, - &exlo.xlo, - &pdc->dclevel.ca, - &rcDst, - &rcSrc, - NULL, - &pdc->eboFill.BrushObject, - NULL, - WIN32_ROP3_TO_ENG_ROP4(dwRop)); + nRet = IntEngStretchBlt(&psurfDst->SurfObj, + &psurfTmp->SurfObj, + NULL, + &pdc->co.ClipObj, + &exlo.xlo, + &pdc->dclevel.ca, + &rcDst, + &rcSrc, + NULL, + &pdc->eboFill.BrushObject, + NULL, + WIN32_ROP3_TO_ENG_ROP4(dwRop)); + if (nRet) + { + nRet = pbmi->bmiHeader.biHeight; + } /* Cleanup */ DC_vFinishBlit(pdc, NULL); @@ -1353,7 +1357,7 @@ if (pdc) DC_UnlockDc(pdc); if (pvBits) ExFreePoolWithTag(pvBits, 'pmeT'); - return bResult; + return nRet; }