| Index: core/src/fxge/dib/fx_dib_main.cpp
|
| diff --git a/core/src/fxge/dib/fx_dib_main.cpp b/core/src/fxge/dib/fx_dib_main.cpp
|
| index f55b2f573741a2eceadd9b3edbc28f8f7759f0ee..a54c9abed045d19c0492d3789e2ee1443270d84b 100644
|
| --- a/core/src/fxge/dib/fx_dib_main.cpp
|
| +++ b/core/src/fxge/dib/fx_dib_main.cpp
|
| @@ -85,12 +85,12 @@ FX_BOOL CFX_DIBitmap::Create(int width, int height, FXDIB_Format format, FX_LPBY
|
| int oomlimit = _MAX_OOM_LIMIT_;
|
| if (oomlimit >= 0 && size >= oomlimit) {
|
| m_pBuffer = FX_TryAlloc(FX_BYTE, size);
|
| - if (m_pBuffer == NULL) {
|
| - return FALSE;
|
| - }
|
| } else {
|
| m_pBuffer = FX_Alloc(FX_BYTE, size);
|
| }
|
| + if (m_pBuffer == NULL) {
|
| + return FALSE;
|
| + }
|
| }
|
| m_Width = width;
|
| m_Height = height;
|
| @@ -202,6 +202,9 @@ void CFX_DIBSource::BuildPalette()
|
| }
|
| if (GetBPP() == 1) {
|
| m_pPalette = FX_Alloc(FX_DWORD, 2);
|
| + if (!m_pPalette) {
|
| + return;
|
| + }
|
| if(IsCmykImage()) {
|
| m_pPalette[0] = 0xff;
|
| m_pPalette[1] = 0;
|
| @@ -211,6 +214,9 @@ void CFX_DIBSource::BuildPalette()
|
| }
|
| } else if (GetBPP() == 8) {
|
| m_pPalette = FX_Alloc(FX_DWORD, 256);
|
| + if (!m_pPalette) {
|
| + return;
|
| + }
|
| if(IsCmykImage()) {
|
| for (int i = 0; i < 256; i ++) {
|
| m_pPalette[i] = 0xff - i;
|
| @@ -525,6 +531,9 @@ void CFX_DIBSource::CopyPalette(const FX_DWORD* pSrc, FX_DWORD size)
|
| if (m_pPalette == NULL) {
|
| m_pPalette = FX_Alloc(FX_DWORD, pal_size);
|
| }
|
| + if (!m_pPalette) {
|
| + return;
|
| + }
|
| if (pal_size > size) {
|
| pal_size = size;
|
| }
|
|
|