[ATL] CImage::Load(): Return E_FAIL without ATLASSERT on failure (#4993)

Application won't be interrupted by ATLASSERT when image load failure happens,
just like it was done in MS ATL.

CORE-18589
This commit is contained in:
Ratin Gao 2023-01-23 01:38:16 +08:00 committed by GitHub
parent 74c45e0975
commit 21a168e574
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -382,8 +382,10 @@ public:
// create a GpBitmap object from file
using namespace Gdiplus;
GpBitmap *pBitmap = NULL;
GetCommon().CreateBitmapFromFile(pszNameW, &pBitmap);
ATLASSERT(pBitmap);
if (GetCommon().CreateBitmapFromFile(pszNameW, &pBitmap) != Ok)
{
return E_FAIL;
}
// TODO & FIXME: get parameters (m_rgbTransColor etc.)
@ -407,8 +409,10 @@ public:
// create GpBitmap from stream
using namespace Gdiplus;
GpBitmap *pBitmap = NULL;
GetCommon().CreateBitmapFromStream(pStream, &pBitmap);
ATLASSERT(pBitmap);
if (GetCommon().CreateBitmapFromStream(pStream, &pBitmap) != Ok)
{
return E_FAIL;
}
// TODO & FIXME: get parameters (m_rgbTransColor etc.)