summaryrefslogtreecommitdiff
path: root/lotuswordpro/source/filter/lwppiece.hxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-06-06 16:49:17 +0200
committerStephan Bergmann <sbergman@redhat.com>2014-06-06 16:49:44 +0200
commit37183595bb3b4d58682f90fd9f6713bedcb852a2 (patch)
tree1ac1fd9d69c0d09ea204173bd77721dc01bbddeb /lotuswordpro/source/filter/lwppiece.hxx
parent7abe976be5166845c5f43b70a0dfb38608d31356 (diff)
Fix memory leaks, by refcounting LwpObject
Change-Id: I1539597cd5bcabcbf0295d1acc320c503ad53604
Diffstat (limited to 'lotuswordpro/source/filter/lwppiece.hxx')
-rw-r--r--lotuswordpro/source/filter/lwppiece.hxx42
1 files changed, 36 insertions, 6 deletions
diff --git a/lotuswordpro/source/filter/lwppiece.hxx b/lotuswordpro/source/filter/lwppiece.hxx
index 8da0b528b99a..9dee449d947a 100644
--- a/lotuswordpro/source/filter/lwppiece.hxx
+++ b/lotuswordpro/source/filter/lwppiece.hxx
@@ -87,12 +87,6 @@ public:
m_pOverride = NULL;
}
- virtual ~LwpVirtualPiece()
- {
- if( m_pOverride )
- delete m_pOverride;
- }
-
virtual void Read() SAL_OVERRIDE
{
LwpDLVList::Read();
@@ -105,6 +99,12 @@ public:
return m_pOverride;
}
protected:
+ virtual ~LwpVirtualPiece()
+ {
+ if( m_pOverride )
+ delete m_pOverride;
+ }
+
LwpOverride *m_pOverride;
};
@@ -115,6 +115,9 @@ public:
{
m_pOverride = new LwpParaBorderOverride();
}
+
+private:
+ virtual ~LwpParaBorderPiece() {}
};
class LwpBreaksPiece : public LwpVirtualPiece
@@ -124,6 +127,9 @@ public:
{
m_pOverride = new LwpBreaksOverride();
}
+
+private:
+ virtual ~LwpBreaksPiece() {}
};
class LwpNumberingPiece : public LwpVirtualPiece
@@ -133,6 +139,9 @@ public:
{
m_pOverride = new LwpNumberingOverride();
}
+
+private:
+ virtual ~LwpNumberingPiece() {}
};
class LwpTabPiece : public LwpVirtualPiece
@@ -142,6 +151,9 @@ public:
{
m_pOverride = new LwpTabOverride();
}
+
+private:
+ virtual ~LwpTabPiece() {}
};
class LwpBackgroundPiece : public LwpVirtualPiece
@@ -151,6 +163,9 @@ public:
{
m_pOverride = new LwpBackgroundOverride();
}
+
+private:
+ virtual ~LwpBackgroundPiece() {}
};
class LwpAlignmentPiece : public LwpVirtualPiece
@@ -160,6 +175,9 @@ public:
{
m_pOverride = new LwpAlignmentOverride();
}
+
+private:
+ virtual ~LwpAlignmentPiece() {}
};
class LwpIndentPiece : public LwpVirtualPiece
@@ -169,6 +187,9 @@ public:
{
m_pOverride = new LwpIndentOverride();
}
+
+private:
+ virtual ~LwpIndentPiece() {}
};
class LwpSpacingPiece : public LwpVirtualPiece
@@ -178,6 +199,9 @@ public:
{
m_pOverride = new LwpSpacingOverride();
}
+
+private:
+ virtual ~LwpSpacingPiece() {}
};
class LwpAmikakePiece : public LwpVirtualPiece
@@ -187,6 +211,9 @@ public:
{
m_pOverride = new LwpAmikakeOverride();
}
+
+private:
+ virtual ~LwpAmikakePiece() {}
};
class LwpCharacterBorderPiece : public LwpVirtualPiece
@@ -196,6 +223,9 @@ public:
{
m_pOverride = new LwpCharacterBorderOverride();
}
+
+private:
+ virtual ~LwpCharacterBorderPiece() {}
};
#endif