diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-09-09 17:20:27 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-09-09 17:25:45 +0200 |
commit | 2ac26e6b5248f2f3fde8dc4341b01ef15b6c3a29 (patch) | |
tree | b03024fb2733d8e7237917a401d342d5ccf04ee8 | |
parent | a2d63fe0c0a476700b2e76012777b5bd2c9f1df7 (diff) |
don't use unitialized global variable, fdo#53713
Change-Id: I9e5150fb4c5681abe9c786f4c2d80f5a10e8a66b
-rw-r--r-- | sc/source/filter/inc/lotattr.hxx | 7 | ||||
-rw-r--r-- | sc/source/filter/lotus/lotattr.cxx | 12 | ||||
-rw-r--r-- | sc/source/filter/lotus/lotimpop.cxx | 2 |
3 files changed, 15 insertions, 6 deletions
diff --git a/sc/source/filter/inc/lotattr.hxx b/sc/source/filter/inc/lotattr.hxx index 9deca5b29782..021a52bc9d1d 100644 --- a/sc/source/filter/inc/lotattr.hxx +++ b/sc/source/filter/inc/lotattr.hxx @@ -41,6 +41,7 @@ class ScPatternAttr; class SvxColorItem; class Color; class LotAttrTable; +class LOTUS_ROOT; namespace editeng { class SvxBorderLine; } @@ -67,7 +68,7 @@ class LotAttrCache { public: - LotAttrCache (); + LotAttrCache(LOTUS_ROOT* pLotRoot); ~LotAttrCache(); @@ -111,13 +112,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 ); @@ -137,6 +139,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 7f5f3ab2447c..5606b10a6d1c 100644 --- a/sc/source/filter/lotus/lotattr.cxx +++ b/sc/source/filter/lotus/lotattr.cxx @@ -58,9 +58,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 ); @@ -115,7 +116,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 ) @@ -245,6 +246,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)) { } |