Kaydet (Commit) 51065497 authored tarafından Arnaud Versini's avatar Arnaud Versini

Cleanup memory managment and constructor in SpellChecker

Change-Id: I086596bc54cada121f5eaaf8f4c0f12e836b3ac9
üst 92b016c4
...@@ -73,16 +73,16 @@ using ::rtl::OString; ...@@ -73,16 +73,16 @@ using ::rtl::OString;
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
SpellChecker::SpellChecker() SpellChecker::SpellChecker() :
: aEvtListeners(GetLinguMutex()) aDicts(NULL),
aDEncs(NULL),
aDLocs(NULL),
aDNames(NULL),
numdict(0),
aEvtListeners(GetLinguMutex()),
pPropHelper(NULL),
bDisposing(sal_False)
{ {
aDicts = NULL;
aDEncs = NULL;
aDLocs = NULL;
aDNames = NULL;
bDisposing = sal_False;
pPropHelper = NULL;
numdict = 0;
} }
SpellChecker::~SpellChecker() SpellChecker::~SpellChecker()
...@@ -92,18 +92,12 @@ SpellChecker::~SpellChecker() ...@@ -92,18 +92,12 @@ SpellChecker::~SpellChecker()
for (int i = 0; i < numdict; ++i) for (int i = 0; i < numdict; ++i)
{ {
delete aDicts[i]; delete aDicts[i];
aDicts[i] = NULL;
} }
delete[] aDicts; delete[] aDicts;
} }
aDicts = NULL;
numdict = 0;
delete[] aDEncs; delete[] aDEncs;
aDEncs = NULL;
delete[] aDLocs; delete[] aDLocs;
aDLocs = NULL;
delete[] aDNames; delete[] aDNames;
aDNames = NULL;
if (pPropHelper) if (pPropHelper)
{ {
pPropHelper->RemoveAsPropListener(); pPropHelper->RemoveAsPropListener();
...@@ -162,8 +156,7 @@ Sequence< Locale > SAL_CALL SpellChecker::getLocales() ...@@ -162,8 +156,7 @@ Sequence< Locale > SAL_CALL SpellChecker::getLocales()
// is not yet supported by the list od new style dictionaries // is not yet supported by the list od new style dictionaries
MergeNewStyleDicsAndOldStyleDics( aDics, aOldStyleDics ); MergeNewStyleDicsAndOldStyleDics( aDics, aOldStyleDics );
numdict = aDics.size(); if (!aDics.empty())
if (numdict)
{ {
// get supported locales from the dictionaries-to-use... // get supported locales from the dictionaries-to-use...
sal_Int32 k = 0; sal_Int32 k = 0;
...@@ -239,9 +232,13 @@ Sequence< Locale > SAL_CALL SpellChecker::getLocales() ...@@ -239,9 +232,13 @@ Sequence< Locale > SAL_CALL SpellChecker::getLocales()
{ {
/* no dictionary found so register no dictionaries */ /* no dictionary found so register no dictionaries */
numdict = 0; numdict = 0;
delete[] aDicts;
aDicts = NULL; aDicts = NULL;
aDEncs = NULL; delete[] aDEncs;
aDEncs = NULL;
delete[] aDLocs;
aDLocs = NULL; aDLocs = NULL;
delete[] aDNames;
aDNames = NULL; aDNames = NULL;
aSuppLocales.realloc(0); aSuppLocales.realloc(0);
} }
......
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