summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-09-09 17:20:27 +0200
committerMichael Stahl <mstahl@redhat.com>2012-09-10 16:57:25 +0200
commit57ce0e13e9228868854749867109c9dbd5b60121 (patch)
tree85ec2e22a7e7eb304aecd638694c4a792263b76d
parent613c7a22a850a890a358d39cae43e97f31f516a5 (diff)
don't use unitialized global variable, fdo#53713
Change-Id: I9e5150fb4c5681abe9c786f4c2d80f5a10e8a66b (cherry picked from commit 2ac26e6b5248f2f3fde8dc4341b01ef15b6c3a29) Signed-off-by: David Tardon <dtardon@redhat.com> (cherry picked from commit 8a861b99ee0b53d03b6f93a3bd6d256a27172ace)
-rw-r--r--sc/source/filter/inc/lotattr.hxx7
-rw-r--r--sc/source/filter/lotus/lotattr.cxx12
-rw-r--r--sc/source/filter/lotus/lotimpop.cxx2
3 files changed, 15 insertions, 6 deletions
diff --git a/sc/source/filter/inc/lotattr.hxx b/sc/source/filter/inc/lotattr.hxx
index e3acb2c874ff..844da072c129 100644
--- a/sc/source/filter/inc/lotattr.hxx
+++ b/sc/source/filter/inc/lotattr.hxx
@@ -42,6 +42,7 @@ class ScPatternAttr;
class SvxColorItem;
class Color;
class LotAttrTable;
+class LOTUS_ROOT;
namespace editeng { class SvxBorderLine; }
@@ -68,7 +69,7 @@ class LotAttrCache
{
public:
- LotAttrCache ();
+ LotAttrCache(LOTUS_ROOT* pLotRoot);
~LotAttrCache();
@@ -112,13 +113,14 @@ private:
SvxColorItem* pWhite;
Color* pColTab;
boost::ptr_vector<ENTRY> aEntries;
+
+ LOTUS_ROOT* mpLotusRoot;
};
class LotAttrCol
{
public:
-
void SetAttr (const SCROW nRow, const ScPatternAttr&);
void Apply (const SCCOL nCol, const SCTAB nTab );
@@ -138,6 +140,7 @@ private:
class LotAttrTable
{
public:
+ LotAttrTable(LOTUS_ROOT* pLotRoot);
void SetAttr( const SCCOL nColFirst, const SCCOL nColLast, const SCROW nRow, const LotAttrWK3& );
diff --git a/sc/source/filter/lotus/lotattr.cxx b/sc/source/filter/lotus/lotattr.cxx
index a74d0934614c..b88dab633587 100644
--- a/sc/source/filter/lotus/lotattr.cxx
+++ b/sc/source/filter/lotus/lotattr.cxx
@@ -54,9 +54,10 @@ LotAttrCache::ENTRY::~ENTRY ()
delete pPattAttr;
}
-LotAttrCache::LotAttrCache ()
+LotAttrCache::LotAttrCache (LOTUS_ROOT* pLotRoot):
+ mpLotusRoot(pLotRoot)
{
- pDocPool = pLotusRoot->pDoc->GetPool();
+ pDocPool = mpLotusRoot->pDoc->GetPool();
pColTab = new Color [ 8 ];
pColTab[ 0 ] = Color( COL_WHITE );
@@ -111,7 +112,7 @@ const ScPatternAttr& LotAttrCache::GetPattAttr( const LotAttrWK3& rAttr )
pAkt->nHash0 = nRefHash;
- pLotusRoot->pFontBuff->Fill( rAttr.nFont, rItemSet );
+ mpLotusRoot->pFontBuff->Fill( rAttr.nFont, rItemSet );
sal_uInt8 nLine = rAttr.nLineStyle;
if( nLine )
@@ -241,6 +242,11 @@ void LotAttrCol::Apply( const SCCOL nColNum, const SCTAB nTabNum )
}
}
+LotAttrTable::LotAttrTable(LOTUS_ROOT* pLotRoot):
+ aAttrCache(pLotRoot)
+{
+}
+
void LotAttrTable::SetAttr( const SCCOL nColFirst, const SCCOL nColLast, const SCROW nRow,
const LotAttrWK3& rAttr )
{
diff --git a/sc/source/filter/lotus/lotimpop.cxx b/sc/source/filter/lotus/lotimpop.cxx
index 4eda7c531892..a35892de79df 100644
--- a/sc/source/filter/lotus/lotimpop.cxx
+++ b/sc/source/filter/lotus/lotimpop.cxx
@@ -56,7 +56,7 @@ LOTUS_ROOT::LOTUS_ROOT( ScDocument* pDocP, CharSet eQ )
eActType( Lotus_X),
pRngNmBffWK3( new RangeNameBufferWK3),
pFontBuff( new LotusFontBuffer),
- pAttrTable( new LotAttrTable)
+ pAttrTable( new LotAttrTable(this))
{
}