diff -r 7403edfcf0fb -r dea39715fc05 imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimagedecoder.cpp --- a/imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimagedecoder.cpp Mon Mar 15 12:41:55 2010 +0200 +++ b/imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimagedecoder.cpp Wed Mar 31 22:04:49 2010 +0300 @@ -166,7 +166,6 @@ //Size in both x and y dimension must be non-zero, positive value TSize loadSize( iOriginalSize) ; - if(iOriginalSize.iHeight < iSize.iHeight || iOriginalSize.iWidth < iSize.iWidth ) { loadSize = iOriginalSize; @@ -225,7 +224,13 @@ "CThumbnailImageDecoder::DecodeL() - loadSize = (%d,%d) reduction = 1/%d ", loadSize.iWidth, loadSize.iHeight, reductionFactor ); } - User::LeaveIfError( iBitmap->Create( loadSize, aDisplayMode )); + TInt err = iBitmap->Create( loadSize, aDisplayMode ); + if (err != KErrNone) + { + delete iBitmap; + iBitmap = NULL; + User::Leave(err); + } iDecoder->Convert( &iStatus, * iBitmap ); while ( iStatus == KErrUnderflow )