summaryrefslogtreecommitdiff
path: root/scaddins/source/datefunc/datefunc.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'scaddins/source/datefunc/datefunc.cxx')
-rw-r--r--scaddins/source/datefunc/datefunc.cxx23
1 files changed, 7 insertions, 16 deletions
diff --git a/scaddins/source/datefunc/datefunc.cxx b/scaddins/source/datefunc/datefunc.cxx
index 28d9a8dbb7e7..0aa2d7d40ee6 100644
--- a/scaddins/source/datefunc/datefunc.cxx
+++ b/scaddins/source/datefunc/datefunc.cxx
@@ -166,8 +166,7 @@ ScaFuncRes::ScaFuncRes( ResId& rResId, ResMgr& rResMgr, sal_uInt16 nIndex, OUStr
uno::Reference< uno::XInterface > SAL_CALL ScaDateAddIn_CreateInstance(
const uno::Reference< lang::XMultiServiceFactory >& )
{
- static uno::Reference< uno::XInterface > xInst = (cppu::OWeakObject*) new ScaDateAddIn();
- return xInst;
+ return (cppu::OWeakObject*) new ScaDateAddIn();
}
extern "C" {
@@ -208,12 +207,9 @@ ScaDateAddIn::ScaDateAddIn() :
ScaDateAddIn::~ScaDateAddIn()
{
- if( pFuncDataList )
- delete pFuncDataList;
- if( pDefLocales )
- delete[] pDefLocales;
-
- // pResMgr already deleted (_all_ resource managers are deleted _before_ this dtor is called)
+ delete pFuncDataList;
+ delete pResMgr;
+ delete[] pDefLocales;
}
static const sal_Char* pLang[] = { "de", "en" };
@@ -252,14 +248,9 @@ ResMgr& ScaDateAddIn::GetResMgr() throw( uno::RuntimeException )
void ScaDateAddIn::InitData()
{
- if( pResMgr )
- delete pResMgr;
-
- OString aModName( "date" );
- pResMgr = ResMgr::CreateResMgr( aModName.getStr(), LanguageTag( aFuncLoc) );
-
- if( pFuncDataList )
- delete pFuncDataList;
+ delete pResMgr;
+ pResMgr = ResMgr::CreateResMgr("date", LanguageTag(aFuncLoc));
+ delete pFuncDataList;
pFuncDataList = pResMgr ? new ScaFuncDataList( *pResMgr ) : NULL;