summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-09-09 17:20:27 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-09-09 17:25:45 +0200
commit2ac26e6b5248f2f3fde8dc4341b01ef15b6c3a29 (patch)
treeb03024fb2733d8e7237917a401d342d5ccf04ee8
parenta2d63fe0c0a476700b2e76012777b5bd2c9f1df7 (diff)
don't use unitialized global variable, fdo#53713
Change-Id: I9e5150fb4c5681abe9c786f4c2d80f5a10e8a66b
-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 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))
{
}