Kaydet (Commit) d929a171 authored tarafından Caolán McNamara's avatar Caolán McNamara

Related: fdo#74880 small leak in scaddins

Change-Id: I331a3a358c5275b770aa1319f43af21b9bb3fd83
üst bdee6631
...@@ -120,14 +120,10 @@ OUString AnalysisAddIn::GetFuncDescrStr( sal_uInt16 nResId, sal_uInt16 nStrIndex ...@@ -120,14 +120,10 @@ OUString AnalysisAddIn::GetFuncDescrStr( sal_uInt16 nResId, sal_uInt16 nStrIndex
void AnalysisAddIn::InitData( void ) void AnalysisAddIn::InitData( void )
{ {
if( pResMgr ) delete pResMgr;
delete pResMgr; pResMgr = ResMgr::CreateResMgr("analysis", LanguageTag(aFuncLoc));
OString aModName( "analysis" );
pResMgr = ResMgr::CreateResMgr( aModName.getStr(), LanguageTag( aFuncLoc) );
if( pFD ) delete pFD;
delete pFD;
if( pResMgr ) if( pResMgr )
pFD = new FuncDataList( *pResMgr ); pFD = new FuncDataList( *pResMgr );
...@@ -153,17 +149,11 @@ AnalysisAddIn::AnalysisAddIn( const uno::Reference< uno::XComponentContext >& xC ...@@ -153,17 +149,11 @@ AnalysisAddIn::AnalysisAddIn( const uno::Reference< uno::XComponentContext >& xC
AnalysisAddIn::~AnalysisAddIn() AnalysisAddIn::~AnalysisAddIn()
{ {
if( pFD ) delete pResMgr;
delete pFD; delete pCDL;
delete[] pFactDoubles;
if( pFactDoubles ) delete pFD;
delete[] pFactDoubles; delete[] pDefLocales;
if( pCDL )
delete pCDL;
if( pDefLocales )
delete[] pDefLocales;
} }
sal_Int32 AnalysisAddIn::getDateMode( sal_Int32 AnalysisAddIn::getDateMode(
...@@ -235,8 +225,7 @@ uno::Sequence< OUString > AnalysisAddIn::getSupportedServiceNames_Static() ...@@ -235,8 +225,7 @@ uno::Sequence< OUString > AnalysisAddIn::getSupportedServiceNames_Static()
uno::Reference< uno::XInterface > SAL_CALL AnalysisAddIn_CreateInstance( uno::Reference< uno::XInterface > SAL_CALL AnalysisAddIn_CreateInstance(
const uno::Reference< lang::XMultiServiceFactory >& xServiceFact ) const uno::Reference< lang::XMultiServiceFactory >& xServiceFact )
{ {
static uno::Reference< uno::XInterface > xInst = (cppu::OWeakObject*) new AnalysisAddIn( comphelper::getComponentContext(xServiceFact) ); return (cppu::OWeakObject*) new AnalysisAddIn( comphelper::getComponentContext(xServiceFact) );
return xInst;
} }
// XServiceName // XServiceName
......
...@@ -166,8 +166,7 @@ ScaFuncRes::ScaFuncRes( ResId& rResId, ResMgr& rResMgr, sal_uInt16 nIndex, OUStr ...@@ -166,8 +166,7 @@ ScaFuncRes::ScaFuncRes( ResId& rResId, ResMgr& rResMgr, sal_uInt16 nIndex, OUStr
uno::Reference< uno::XInterface > SAL_CALL ScaDateAddIn_CreateInstance( uno::Reference< uno::XInterface > SAL_CALL ScaDateAddIn_CreateInstance(
const uno::Reference< lang::XMultiServiceFactory >& ) const uno::Reference< lang::XMultiServiceFactory >& )
{ {
static uno::Reference< uno::XInterface > xInst = (cppu::OWeakObject*) new ScaDateAddIn(); return (cppu::OWeakObject*) new ScaDateAddIn();
return xInst;
} }
extern "C" { extern "C" {
...@@ -208,12 +207,9 @@ ScaDateAddIn::ScaDateAddIn() : ...@@ -208,12 +207,9 @@ ScaDateAddIn::ScaDateAddIn() :
ScaDateAddIn::~ScaDateAddIn() ScaDateAddIn::~ScaDateAddIn()
{ {
if( pFuncDataList ) delete pFuncDataList;
delete pFuncDataList; delete pResMgr;
if( pDefLocales ) delete[] pDefLocales;
delete[] pDefLocales;
// pResMgr already deleted (_all_ resource managers are deleted _before_ this dtor is called)
} }
static const sal_Char* pLang[] = { "de", "en" }; static const sal_Char* pLang[] = { "de", "en" };
...@@ -252,14 +248,9 @@ ResMgr& ScaDateAddIn::GetResMgr() throw( uno::RuntimeException ) ...@@ -252,14 +248,9 @@ ResMgr& ScaDateAddIn::GetResMgr() throw( uno::RuntimeException )
void ScaDateAddIn::InitData() void ScaDateAddIn::InitData()
{ {
if( pResMgr ) delete pResMgr;
delete pResMgr; pResMgr = ResMgr::CreateResMgr("date", LanguageTag(aFuncLoc));
delete pFuncDataList;
OString aModName( "date" );
pResMgr = ResMgr::CreateResMgr( aModName.getStr(), LanguageTag( aFuncLoc) );
if( pFuncDataList )
delete pFuncDataList;
pFuncDataList = pResMgr ? new ScaFuncDataList( *pResMgr ) : NULL; pFuncDataList = pResMgr ? new ScaFuncDataList( *pResMgr ) : NULL;
......
...@@ -171,11 +171,9 @@ ScaFuncRes::ScaFuncRes( ResId& rResId, ResMgr& rResMgr, sal_uInt16 nIndex, OUStr ...@@ -171,11 +171,9 @@ ScaFuncRes::ScaFuncRes( ResId& rResId, ResMgr& rResMgr, sal_uInt16 nIndex, OUStr
uno::Reference< uno::XInterface > SAL_CALL ScaPricingAddIn_CreateInstance( uno::Reference< uno::XInterface > SAL_CALL ScaPricingAddIn_CreateInstance(
const uno::Reference< lang::XMultiServiceFactory >& ) const uno::Reference< lang::XMultiServiceFactory >& )
{ {
static uno::Reference< uno::XInterface > xInst = (cppu::OWeakObject*) new ScaPricingAddIn(); return (cppu::OWeakObject*) new ScaPricingAddIn();
return xInst;
} }
extern "C" { extern "C" {
SAL_DLLPUBLIC_EXPORT void * SAL_CALL pricing_component_getFactory( SAL_DLLPUBLIC_EXPORT void * SAL_CALL pricing_component_getFactory(
...@@ -214,12 +212,9 @@ ScaPricingAddIn::ScaPricingAddIn() : ...@@ -214,12 +212,9 @@ ScaPricingAddIn::ScaPricingAddIn() :
ScaPricingAddIn::~ScaPricingAddIn() ScaPricingAddIn::~ScaPricingAddIn()
{ {
if( pFuncDataList ) delete pFuncDataList;
delete pFuncDataList; delete pResMgr;
if( pDefLocales ) delete[] pDefLocales;
delete[] pDefLocales;
// pResMgr already deleted (_all_ resource managers are deleted _before_ this dtor is called)
} }
static const sal_Char* pLang[] = { "de", "en" }; static const sal_Char* pLang[] = { "de", "en" };
...@@ -258,15 +253,9 @@ ResMgr& ScaPricingAddIn::GetResMgr() throw( uno::RuntimeException ) ...@@ -258,15 +253,9 @@ ResMgr& ScaPricingAddIn::GetResMgr() throw( uno::RuntimeException )
void ScaPricingAddIn::InitData() void ScaPricingAddIn::InitData()
{ {
delete pResMgr;
if( pResMgr ) pResMgr = ResMgr::CreateResMgr("pricing", LanguageTag( aFuncLoc) );
delete pResMgr; delete pFuncDataList;
OString aModName( "pricing" );
pResMgr = ResMgr::CreateResMgr( aModName.getStr(), LanguageTag( aFuncLoc) );
if( pFuncDataList )
delete pFuncDataList;
pFuncDataList = pResMgr ? new ScaFuncDataList( *pResMgr ) : NULL; pFuncDataList = pResMgr ? new ScaFuncDataList( *pResMgr ) : NULL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment