[Libreoffice-commits] core.git: vcl/source
Caolán McNamara
caolanm at redhat.com
Mon Nov 3 12:41:52 PST 2014
vcl/source/outdev/map.cxx | 19 ++++++++-----------
vcl/source/outdev/outdev.cxx | 15 +++++----------
vcl/source/outdev/text.cxx | 8 ++++----
3 files changed, 17 insertions(+), 25 deletions(-)
New commits:
commit 188b0d899c277a2ac2b0c5f52d992db2b45a882d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Nov 3 17:16:13 2014 +0000
coverity#1209395 Dereference after null check
since
commit 808d273db098e2269e53813595a6bfc7b160e28e
Date: Fri Apr 25 11:56:54 2014 +1000
Remove ImpInitOutDevData and ImplDeInitOutDevData in OutputDevice
All these do is some very, very basic initialization. There is no need
to lazy load the structure, it should be initialized when OutputDevice
is created in the constructor and deinitialized in the destructor.
mpOutDevData is never NULL
Change-Id: Ie08f7520e8c09b57e056c086bba3089abe2486fa
diff --git a/vcl/source/outdev/map.cxx b/vcl/source/outdev/map.cxx
index c646f8a..8e95882 100644
--- a/vcl/source/outdev/map.cxx
+++ b/vcl/source/outdev/map.cxx
@@ -354,19 +354,16 @@ inline void ImplCalcMapResolution( const MapMode& rMapMode,
// #i75163#
void OutputDevice::ImplInvalidateViewTransform()
{
- if(mpOutDevData)
+ if(mpOutDevData->mpViewTransform)
{
- if(mpOutDevData->mpViewTransform)
- {
- delete mpOutDevData->mpViewTransform;
- mpOutDevData->mpViewTransform = NULL;
- }
+ delete mpOutDevData->mpViewTransform;
+ mpOutDevData->mpViewTransform = NULL;
+ }
- if(mpOutDevData->mpInverseViewTransform)
- {
- delete mpOutDevData->mpInverseViewTransform;
- mpOutDevData->mpInverseViewTransform = NULL;
- }
+ if(mpOutDevData->mpInverseViewTransform)
+ {
+ delete mpOutDevData->mpInverseViewTransform;
+ mpOutDevData->mpInverseViewTransform = NULL;
}
}
diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index 546f36d..3c9e519 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -96,7 +96,6 @@ OutputDevice::OutputDevice() :
mpGetDevFontList = NULL;
mpGetDevSizeList = NULL;
mpOutDevStateStack = new boost::ptr_deque<OutDevState>();
- mpOutDevData = NULL;
mpPDFWriter = NULL;
mpAlphaVDev = NULL;
mpExtOutDevData = NULL;
@@ -191,16 +190,12 @@ OutputDevice::~OutputDevice()
mpUnoGraphicsList = NULL;
}
- if ( mpOutDevData )
- {
- if ( mpOutDevData->mpRotateDev )
- delete mpOutDevData->mpRotateDev;
+ delete mpOutDevData->mpRotateDev;
- // #i75163#
- ImplInvalidateViewTransform();
+ // #i75163#
+ ImplInvalidateViewTransform();
- delete mpOutDevData;
- }
+ delete mpOutDevData;
// for some reason, we haven't removed state from the stack properly
if ( !mpOutDevStateStack->empty() )
@@ -783,7 +778,7 @@ bool OutputDevice::HasMirroredGraphics() const
bool OutputDevice::ImplIsRecordLayout() const
{
- return mpOutDevData && mpOutDevData->mpRecordLayout;
+ return mpOutDevData->mpRecordLayout;
}
// EPS public function
diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index 90cd4a4..2dd7859 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -233,7 +233,7 @@ bool OutputDevice::ImplDrawRotateText( SalLayout& rSalLayout )
}
// cache virtual device for rotation
- if ( !mpOutDevData->mpRotateDev )
+ if (!mpOutDevData->mpRotateDev)
mpOutDevData->mpRotateDev = new VirtualDevice( *this, 1 );
VirtualDevice* pVDev = mpOutDevData->mpRotateDev;
@@ -849,7 +849,7 @@ void OutputDevice::DrawText( const Point& rStartPt, const OUString& rStr,
}
- if( mpOutDevData && mpOutDevData->mpRecordLayout )
+ if (mpOutDevData->mpRecordLayout)
{
pVector = &mpOutDevData->mpRecordLayout->m_aUnicodeBoundRects;
pDisplayText = &mpOutDevData->mpRecordLayout->m_aDisplayText;
@@ -867,7 +867,7 @@ void OutputDevice::DrawText( const Point& rStartPt, const OUString& rStr,
vcl::Region aClip( GetClipRegion() );
if( meOutDevType == OUTDEV_WINDOW )
aClip.Intersect( Rectangle( Point(), GetOutputSize() ) );
- if( mpOutDevData && mpOutDevData->mpRecordLayout )
+ if (mpOutDevData->mpRecordLayout)
{
mpOutDevData->mpRecordLayout->m_aLineIndices.push_back( mpOutDevData->mpRecordLayout->m_aDisplayText.getLength() );
aClip.Intersect( mpOutDevData->maRecordRect );
@@ -1805,7 +1805,7 @@ void OutputDevice::DrawText( const Rectangle& rRect, const OUString& rOrigStr, s
MetricVector* pVector, OUString* pDisplayText,
::vcl::ITextLayout* _pTextLayout )
{
- if( mpOutDevData && mpOutDevData->mpRecordLayout )
+ if (mpOutDevData->mpRecordLayout)
{
pVector = &mpOutDevData->mpRecordLayout->m_aUnicodeBoundRects;
pDisplayText = &mpOutDevData->mpRecordLayout->m_aDisplayText;
More information about the Libreoffice-commits
mailing list