summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolan.mcnamara@collabora.com>2024-05-11 19:48:37 +0100
committerCaolán McNamara <caolan.mcnamara@collabora.com>2024-05-12 12:49:22 +0200
commitd4a110f8c274731959868c1f899360cc69694a71 (patch)
tree992b4914cd2b9b387c9f01eed36944ecd7eaf67b /vcl
parent744dfe387bc7512cd028b1de43b956bd0974377c (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.cxx2
-rw-r--r--vcl/win/window/salframe.cxx24
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 );
+ }
}
}