From 0a2035492c66bc323d84ad6c2c4cbc0dc3c9d9aa Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 28 May 2018 21:36:16 +0100 Subject: forcepoint#41 null deref Change-Id: I16e9e083811c6e14861da1ba1df7d46e8c8771d7 Reviewed-on: https://gerrit.libreoffice.org/54974 Tested-by: Jenkins Reviewed-by: Christian Lohmaier --- drawinglayer/source/texture/texture3d.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drawinglayer/source/texture/texture3d.cxx b/drawinglayer/source/texture/texture3d.cxx index 2120b8f04280..91604803f8eb 100644 --- a/drawinglayer/source/texture/texture3d.cxx +++ b/drawinglayer/source/texture/texture3d.cxx @@ -74,8 +74,6 @@ namespace drawinglayer { // #121194# Todo: use alpha channel, too (for 3d) maBitmap = maBitmapEx.GetBitmap(); - mpReadBitmap = Bitmap::ScopedReadAccess(maBitmap); - OSL_ENSURE(mpReadBitmap, "GeoTexSvxBitmapEx: Got no read access to Bitmap (!)"); if(mbIsTransparent) { @@ -92,8 +90,13 @@ namespace drawinglayer mpReadTransparence = Bitmap::ScopedReadAccess(maTransparence); } - mfMulX = (double)mpReadBitmap->Width() / maSize.getX(); - mfMulY = (double)mpReadBitmap->Height() / maSize.getY(); + mpReadBitmap = Bitmap::ScopedReadAccess(maBitmap); + SAL_WARN_IF(!mpReadBitmap, "drawinglayer", "GeoTexSvxBitmapEx: Got no read access to Bitmap"); + if (mpReadBitmap) + { + mfMulX = static_cast(mpReadBitmap->Width()) / maSize.getX(); + mfMulY = static_cast(mpReadBitmap->Height()) / maSize.getY(); + } if(maSize.getX() <= 1.0) { -- cgit v1.2.3