summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-05-31 20:55:11 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-06-01 17:41:21 +0100
commit52052e5b03a605f261ab041233a5c6b3c8a19143 (patch)
treed37e8fd43d1069fac3cef6b8cf914e27b6a62558 /vcl
parent5f1a267c9a97059cbc8e77a0ed9b011dfe891df7 (diff)
coverity#1302690 Uninitialized pointer field
Change-Id: Idea6c8a988cdff9fd7c99fb0d37935f391ba0da2
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/outdev/outdevstate.cxx99
1 files changed, 41 insertions, 58 deletions
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 1f3039216164..e1c649807a6a 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -39,36 +39,40 @@
#include "salgdi.hxx"
#include "sallayout.hxx"
-OutDevState::OutDevState() :
- mnFlags(PushFlags::NONE)
+OutDevState::OutDevState()
+ : mpMapMode(0)
+ , mbMapActive(false)
+ , mpClipRegion(0)
+ , mpLineColor(0)
+ , mpFillColor(0)
+ , mpFont(0)
+ , mpTextColor(0)
+ , mpTextFillColor(0)
+ , mpTextLineColor(0)
+ , mpOverlineColor(0)
+ , mpRefPoint(0)
+ , meTextAlign(ALIGN_TOP)
+ , meRasterOp(ROP_OVERPAINT)
+ , mnTextLayoutMode(TEXT_LAYOUT_DEFAULT)
+ , meTextLanguage(0)
+ , mnFlags(PushFlags::NONE)
{
}
OutDevState::~OutDevState()
{
- if ( mnFlags & PushFlags::LINECOLOR )
- delete mpLineColor;
- if ( mnFlags & PushFlags::FILLCOLOR )
- delete mpFillColor;
- if ( mnFlags & PushFlags::FONT )
- delete mpFont;
- if ( mnFlags & PushFlags::TEXTCOLOR )
- delete mpTextColor;
- if ( mnFlags & PushFlags::TEXTFILLCOLOR )
- delete mpTextFillColor;
- if ( mnFlags & PushFlags::TEXTLINECOLOR )
- delete mpTextLineColor;
- if ( mnFlags & PushFlags::OVERLINECOLOR )
- delete mpOverlineColor;
- if ( mnFlags & PushFlags::MAPMODE )
- delete mpMapMode;
- if ( mnFlags & PushFlags::CLIPREGION )
- delete mpClipRegion;
- if ( mnFlags & PushFlags::REFPOINT )
- delete mpRefPoint;
+ delete mpLineColor;
+ delete mpFillColor;
+ delete mpFont;
+ delete mpTextColor;
+ delete mpTextFillColor;
+ delete mpTextLineColor;
+ delete mpOverlineColor;
+ delete mpMapMode;
+ delete mpClipRegion;
+ delete mpRefPoint;
}
-
void OutputDevice::Push( PushFlags nFlags )
{
@@ -79,44 +83,29 @@ void OutputDevice::Push( PushFlags nFlags )
pState->mnFlags = nFlags;
- if ( nFlags & PushFlags::LINECOLOR )
+ if (nFlags & PushFlags::LINECOLOR && mbLineColor)
{
- if ( mbLineColor )
- pState->mpLineColor = new Color( maLineColor );
- else
- pState->mpLineColor = NULL;
+ pState->mpLineColor = new Color( maLineColor );
}
- if ( nFlags & PushFlags::FILLCOLOR )
+ if (nFlags & PushFlags::FILLCOLOR && mbFillColor)
{
- if ( mbFillColor )
- pState->mpFillColor = new Color( maFillColor );
- else
- pState->mpFillColor = NULL;
+ pState->mpFillColor = new Color( maFillColor );
}
if ( nFlags & PushFlags::FONT )
pState->mpFont = new vcl::Font( maFont );
if ( nFlags & PushFlags::TEXTCOLOR )
pState->mpTextColor = new Color( GetTextColor() );
- if ( nFlags & PushFlags::TEXTFILLCOLOR )
+ if (nFlags & PushFlags::TEXTFILLCOLOR && IsTextFillColor())
{
- if ( IsTextFillColor() )
- pState->mpTextFillColor = new Color( GetTextFillColor() );
- else
- pState->mpTextFillColor = NULL;
+ pState->mpTextFillColor = new Color( GetTextFillColor() );
}
- if ( nFlags & PushFlags::TEXTLINECOLOR )
+ if (nFlags & PushFlags::TEXTLINECOLOR && IsTextLineColor())
{
- if ( IsTextLineColor() )
- pState->mpTextLineColor = new Color( GetTextLineColor() );
- else
- pState->mpTextLineColor = NULL;
+ pState->mpTextLineColor = new Color( GetTextLineColor() );
}
- if ( nFlags & PushFlags::OVERLINECOLOR )
+ if (nFlags & PushFlags::OVERLINECOLOR && IsOverlineColor())
{
- if ( IsOverlineColor() )
- pState->mpOverlineColor = new Color( GetOverlineColor() );
- else
- pState->mpOverlineColor = NULL;
+ pState->mpOverlineColor = new Color( GetOverlineColor() );
}
if ( nFlags & PushFlags::TEXTALIGN )
pState->meTextAlign = GetTextAlign();
@@ -131,19 +120,13 @@ void OutputDevice::Push( PushFlags nFlags )
pState->mpMapMode = new MapMode( maMapMode );
pState->mbMapActive = mbMap;
}
- if ( nFlags & PushFlags::CLIPREGION )
+ if (nFlags & PushFlags::CLIPREGION && mbClipRegion)
{
- if ( mbClipRegion )
- pState->mpClipRegion = new vcl::Region( maRegion );
- else
- pState->mpClipRegion = NULL;
+ pState->mpClipRegion = new vcl::Region( maRegion );
}
- if ( nFlags & PushFlags::REFPOINT )
+ if (nFlags & PushFlags::REFPOINT && mbRefPoint)
{
- if ( mbRefPoint )
- pState->mpRefPoint = new Point( maRefPoint );
- else
- pState->mpRefPoint = NULL;
+ pState->mpRefPoint = new Point( maRefPoint );
}
mpOutDevStateStack->push_back( pState );