diff options
Diffstat (limited to 'vcl/qt5/Qt5Graphics_GDI.cxx')
-rw-r--r-- | vcl/qt5/Qt5Graphics_GDI.cxx | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/vcl/qt5/Qt5Graphics_GDI.cxx b/vcl/qt5/Qt5Graphics_GDI.cxx index b790278cdce0..d44055b8e841 100644 --- a/vcl/qt5/Qt5Graphics_GDI.cxx +++ b/vcl/qt5/Qt5Graphics_GDI.cxx @@ -194,6 +194,7 @@ void Qt5Graphics::drawBitmap( const SalTwoRect& rPosAry, const SalBitmap& rSalBi PreparePainter(); const QImage *pImage = static_cast< const Qt5Bitmap* >( &rSalBitmap )->GetQImage(); + assert( pImage ); m_pPainter->drawImage( QPoint( rPosAry.mnDestX, rPosAry.mnDestY ), *pImage, QRect( rPosAry.mnSrcX, rPosAry.mnSrcY, @@ -208,12 +209,24 @@ void Qt5Graphics::drawBitmap( const SalTwoRect& rPosAry, const SalBitmap& rSalBitmap, const SalBitmap& rTransparentBitmap ) { + if( rPosAry.mnSrcWidth <= 0 || rPosAry.mnSrcHeight <= 0 + || rPosAry.mnDestWidth <= 0 || rPosAry.mnDestHeight <= 0 ) + return; + + assert( rPosAry.mnSrcWidth == rPosAry.mnDestWidth ); + assert( rPosAry.mnSrcHeight == rPosAry.mnDestHeight ); } void Qt5Graphics::drawMask( const SalTwoRect& rPosAry, - const SalBitmap& rSalBitmap, - SalColor nMaskColor ) + const SalBitmap& rSalBitmap, + SalColor nMaskColor ) { + if( rPosAry.mnSrcWidth <= 0 || rPosAry.mnSrcHeight <= 0 + || rPosAry.mnDestWidth <= 0 || rPosAry.mnDestHeight <= 0 ) + return; + + assert( rPosAry.mnSrcWidth == rPosAry.mnDestWidth ); + assert( rPosAry.mnSrcHeight == rPosAry.mnDestHeight ); } SalBitmap* Qt5Graphics::getBitmap( long nX, long nY, long nWidth, long nHeight ) |