summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/FontTable.cxx
diff options
context:
space:
mode:
authorHenning Brinkmann <hbrinkm@openoffice.org>2010-02-16 15:21:57 +0100
committerHenning Brinkmann <hbrinkm@openoffice.org>2010-02-16 15:21:57 +0100
commit77a8443fc381591ce33d3a8ea3c8a7991b287aed (patch)
tree60eef19ef36d9e0c97db9eebb7bb5d4e823b6069 /writerfilter/source/dmapper/FontTable.cxx
parentd045e0247f3b41ba0079f63fef7af9cee577d5d2 (diff)
writerfilter07: fixed memory leak related to FontEntry/FontTable
Diffstat (limited to 'writerfilter/source/dmapper/FontTable.cxx')
-rw-r--r--writerfilter/source/dmapper/FontTable.cxx17
1 files changed, 8 insertions, 9 deletions
diff --git a/writerfilter/source/dmapper/FontTable.cxx b/writerfilter/source/dmapper/FontTable.cxx
index 8d7071d16be1..7ccedccf8212 100644
--- a/writerfilter/source/dmapper/FontTable.cxx
+++ b/writerfilter/source/dmapper/FontTable.cxx
@@ -42,10 +42,9 @@ namespace dmapper
struct FontTable_Impl
{
- std::vector< FontEntry > aFontEntries;
- FontEntry* pCurrentEntry;
- FontTable_Impl() :
- pCurrentEntry(0){}
+ std::vector< FontEntry > aFontEntries;
+ FontEntry::Pointer_t pCurrentEntry;
+ FontTable_Impl() {}
};
/*-- 19.06.2006 12:04:32---------------------------------------------------
@@ -569,11 +568,11 @@ void FontTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_
{
//create a new font entry
OSL_ENSURE( !m_pImpl->pCurrentEntry, "current entry has to be NULL here");
- m_pImpl->pCurrentEntry = new FontEntry ;
+ m_pImpl->pCurrentEntry.reset(new FontEntry);
ref->resolve(*this);
//append it to the table
m_pImpl->aFontEntries.push_back( *m_pImpl->pCurrentEntry );
- m_pImpl->pCurrentEntry = 0;
+ m_pImpl->pCurrentEntry.reset();
}
/*-- 19.06.2006 12:04:34---------------------------------------------------
@@ -659,12 +658,12 @@ void FontTable::endShape( )
/*-- 21.06.2006 11:21:38---------------------------------------------------
-----------------------------------------------------------------------*/
-const FontEntry* FontTable::getFontEntry(sal_uInt32 nIndex)
+const FontEntry::Pointer_t FontTable::getFontEntry(sal_uInt32 nIndex)
{
- const FontEntry* pRet = 0;
+ FontEntry::Pointer_t pRet;
if(m_pImpl->aFontEntries.size() > nIndex)
{
- pRet = &m_pImpl->aFontEntries[nIndex];
+ pRet.reset(&m_pImpl->aFontEntries[nIndex]);
}
return pRet;
}