diff options
author | Caolán McNamara <caolan.mcnamara@collabora.com> | 2024-05-11 19:48:37 +0100 |
---|---|---|
committer | Caolán McNamara <caolan.mcnamara@collabora.com> | 2024-05-12 12:49:22 +0200 |
commit | d4a110f8c274731959868c1f899360cc69694a71 (patch) | |
tree | 992b4914cd2b9b387c9f01eed36944ecd7eaf67b /vcl | |
parent | 744dfe387bc7512cd028b1de43b956bd0974377c (diff) |
WaE: C6011 Dereferencing NULL pointer warnings
Change-Id: I85aa6c2f100823d1d39e24ab3ffcb0c44f66354e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167519
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/win/gdi/salgdi2.cxx | 2 | ||||
-rw-r--r-- | vcl/win/window/salframe.cxx | 24 |
2 files changed, 15 insertions, 11 deletions
diff --git a/vcl/win/gdi/salgdi2.cxx b/vcl/win/gdi/salgdi2.cxx index 277fbc3b9f98..ba4afc157bc3 100644 --- a/vcl/win/gdi/salgdi2.cxx +++ b/vcl/win/gdi/salgdi2.cxx @@ -162,6 +162,7 @@ void convertToWinSalBitmap(SalBitmap& rSalBitmap, WinSalBitmap& rWinSalBitmap) void WinSalGraphics::drawBitmap(const SalTwoRect& rPosAry, const SalBitmap& rSalBitmap) { + assert(&rSalBitmap && "msvc -analyze gets confused here"); if (dynamic_cast<const WinSalBitmap*>(&rSalBitmap) == nullptr #if HAVE_FEATURE_SKIA && dynamic_cast<WinSkiaSalGraphicsImpl*>(mpImpl.get()) == nullptr @@ -183,6 +184,7 @@ void WinSalGraphics::drawBitmap( const SalTwoRect& rPosAry, const SalBitmap& rSSalBitmap, const SalBitmap& rSTransparentBitmap ) { + assert(&rSSalBitmap && "msvc -analyze gets confused here"); if (dynamic_cast<const WinSalBitmap*>(&rSSalBitmap) == nullptr #if HAVE_FEATURE_SKIA && dynamic_cast<WinSkiaSalGraphicsImpl*>(mpImpl.get()) == nullptr diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index 926694ccbb5b..288b561970f0 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -4896,20 +4896,22 @@ static LRESULT ImplDrawItem(HWND, WPARAM wParam, LPARAM lParam ) if( hDrawDIB ) { - PBITMAPINFO pBI = static_cast<PBITMAPINFO>(GlobalLock( hDrawDIB )); - PBYTE pBits = reinterpret_cast<PBYTE>(pBI) + pBI->bmiHeader.biSize + - WinSalBitmap::ImplGetDIBColorCount( hDrawDIB ) * sizeof( RGBQUAD ); + if (PBITMAPINFO pBI = static_cast<PBITMAPINFO>(GlobalLock( hDrawDIB ))) + { + PBYTE pBits = reinterpret_cast<PBYTE>(pBI) + pBI->bmiHeader.biSize + + WinSalBitmap::ImplGetDIBColorCount( hDrawDIB ) * sizeof( RGBQUAD ); - HBITMAP hBmp = CreateDIBitmap( pDI->hDC, &pBI->bmiHeader, CBM_INIT, pBits, pBI, DIB_RGB_COLORS ); - GlobalUnlock( hDrawDIB ); + HBITMAP hBmp = CreateDIBitmap( pDI->hDC, &pBI->bmiHeader, CBM_INIT, pBits, pBI, DIB_RGB_COLORS ); + GlobalUnlock( hDrawDIB ); - HBRUSH hbrIcon = CreateSolidBrush( GetSysColor( COLOR_GRAYTEXT ) ); - DrawStateW( pDI->hDC, hbrIcon, nullptr, reinterpret_cast<LPARAM>(hBmp), WPARAM(0), - x, y+(lineHeight-bmpSize.Height())/2, bmpSize.Width(), bmpSize.Height(), - DST_BITMAP | (fDisabled ? (fSelected ? DSS_MONO : DSS_DISABLED) : DSS_NORMAL) ); + HBRUSH hbrIcon = CreateSolidBrush( GetSysColor( COLOR_GRAYTEXT ) ); + DrawStateW( pDI->hDC, hbrIcon, nullptr, reinterpret_cast<LPARAM>(hBmp), WPARAM(0), + x, y+(lineHeight-bmpSize.Height())/2, bmpSize.Width(), bmpSize.Height(), + DST_BITMAP | (fDisabled ? (fSelected ? DSS_MONO : DSS_DISABLED) : DSS_NORMAL) ); - DeleteObject( hbrIcon ); - DeleteObject( hBmp ); + DeleteObject( hbrIcon ); + DeleteObject( hBmp ); + } } } |