More checks
diff --git a/main/svx/source/svdraw/svdoedge.cxx b/main/svx/source/svdraw/svdoedge.cxx
index 5bd1237..73f9c3f 100644
--- a/main/svx/source/svdraw/svdoedge.cxx
+++ b/main/svx/source/svdraw/svdoedge.cxx
@@ -2262,7 +2262,7 @@
ResizeXPoly(*pEdgeTrack,rRefPnt,aXFact,aYFact);
// #75371# if resize is not from paste, forget user distances
- if(!GetModel()->IsPasteResize())
+ if(GetModel() && !GetModel()->IsPasteResize())
{
// #75735#
aEdgeInfo.aObj1Line2 = Point();
diff --git a/main/vcl/source/gdi/bmpacc.cxx b/main/vcl/source/gdi/bmpacc.cxx
index dd59442..49a38cc 100644
--- a/main/vcl/source/gdi/bmpacc.cxx
+++ b/main/vcl/source/gdi/bmpacc.cxx
@@ -107,31 +107,40 @@
const long nHeight = mpBuffer->mnHeight;
Scanline pTmpLine = mpBuffer->mpBits;
- mpScanBuf = new Scanline[ nHeight ];
- maColorMask = mpBuffer->maColorMask;
+ try {
+ mpScanBuf = new Scanline[ nHeight ];
+ } catch (std::bad_alloc &) {
+ mpScanBuf = NULL;
+ }
+ if (mpScanBuf) {
+ maColorMask = mpBuffer->maColorMask;
- if( BMP_SCANLINE_ADJUSTMENT( mpBuffer->mnFormat ) == BMP_FORMAT_TOP_DOWN )
- {
- for( long nY = 0L; nY < nHeight; nY++, pTmpLine += mpBuffer->mnScanlineSize )
- mpScanBuf[ nY ] = pTmpLine;
- }
- else
- {
- for( long nY = nHeight - 1; nY >= 0; nY--, pTmpLine += mpBuffer->mnScanlineSize )
- mpScanBuf[ nY ] = pTmpLine;
- }
+ if( BMP_SCANLINE_ADJUSTMENT( mpBuffer->mnFormat ) == BMP_FORMAT_TOP_DOWN )
+ {
+ for( long nY = 0L; nY < nHeight; nY++, pTmpLine += mpBuffer->mnScanlineSize )
+ mpScanBuf[ nY ] = pTmpLine;
+ }
+ else
+ {
+ for( long nY = nHeight - 1; nY >= 0; nY--, pTmpLine += mpBuffer->mnScanlineSize )
+ mpScanBuf[ nY ] = pTmpLine;
+ }
- if( !ImplSetAccessPointers( BMP_SCANLINE_FORMAT( mpBuffer->mnFormat ) ) )
- {
- delete[] mpScanBuf;
- mpScanBuf = NULL;
+ if( !ImplSetAccessPointers( BMP_SCANLINE_FORMAT( mpBuffer->mnFormat ) ) )
+ {
+ delete[] mpScanBuf;
+ mpScanBuf = NULL;
- pImpBmp->ImplReleaseBuffer( mpBuffer, !mbModify );
- mpBuffer = NULL;
- }
- else
- maBitmap = rBitmap;
- }
+ pImpBmp->ImplReleaseBuffer( mpBuffer, !mbModify );
+ mpBuffer = NULL;
+ }
+ else
+ maBitmap = rBitmap;
+ } else {
+ pImpBmp->ImplReleaseBuffer( mpBuffer, !mbModify );
+ mpBuffer = NULL;
+ }
+ }
}
}