[Libreoffice-commits] .: Branch 'libreoffice-3-4' - svx/inc svx/source
Caolán McNamara
caolan at kemper.freedesktop.org
Mon Aug 22 06:56:29 PDT 2011
svx/inc/svx/svdorect.hxx | 2 ++
svx/source/svdraw/svdorect.cxx | 30 +++++++++++++++++++++---------
2 files changed, 23 insertions(+), 9 deletions(-)
New commits:
commit 05e819b26a47089f56c1084302d4afcff3f66de7
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Aug 22 14:31:18 2011 +0100
Resolves: fdo#37403 backport collection of operator= fixes
diff --git a/svx/inc/svx/svdorect.hxx b/svx/inc/svx/svdorect.hxx
index 6114875..006bec1 100644
--- a/svx/inc/svx/svdorect.hxx
+++ b/svx/inc/svx/svdorect.hxx
@@ -85,6 +85,8 @@ public:
SdrRectObj();
SdrRectObj(const Rectangle& rRect);
+ SdrRectObj& operator=(const SdrRectObj& rCopy);
+
// Konstruktion eines Textrahmens
SdrRectObj(SdrObjKind eNewTextKind);
SdrRectObj(SdrObjKind eNewTextKind, const Rectangle& rRect);
diff --git a/svx/source/svdraw/svdorect.cxx b/svx/source/svdraw/svdorect.cxx
index f8bb958..fb642bf 100644
--- a/svx/source/svdraw/svdorect.cxx
+++ b/svx/source/svdraw/svdorect.cxx
@@ -122,19 +122,30 @@ SdrRectObj::SdrRectObj(SdrObjKind eNewTextKind, const Rectangle& rNewRect, SvStr
SdrRectObj::~SdrRectObj()
{
- if(mpXPoly)
- {
- delete mpXPoly;
- }
+ delete mpXPoly;
+}
+
+SdrRectObj& SdrRectObj::operator=(const SdrRectObj& rCopy)
+{
+ if ( this == &rCopy )
+ return *this;
+
+ SdrTextObj::operator=( rCopy );
+
+ delete mpXPoly;
+
+ if ( rCopy.mpXPoly )
+ mpXPoly = new XPolygon( *rCopy.mpXPoly );
+ else
+ mpXPoly = NULL;
+
+ return *this;
}
void SdrRectObj::SetXPolyDirty()
{
- if(mpXPoly)
- {
- delete mpXPoly;
- mpXPoly = 0L;
- }
+ delete mpXPoly;
+ mpXPoly = 0L;
}
bool SdrRectObj::PaintNeedsXPoly(long nEckRad) const
@@ -169,6 +180,7 @@ XPolygon SdrRectObj::ImpCalcXPoly(const Rectangle& rRect1, long nRad1) const
void SdrRectObj::RecalcXPoly()
{
+ delete mpXPoly;
mpXPoly = new XPolygon(ImpCalcXPoly(aRect,GetEckenradius()));
}
More information about the Libreoffice-commits
mailing list