summaryrefslogtreecommitdiff
path: root/i18npool/source/inputchecker/inputsequencechecker.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'i18npool/source/inputchecker/inputsequencechecker.cxx')
-rw-r--r--i18npool/source/inputchecker/inputsequencechecker.cxx12
1 files changed, 4 insertions, 8 deletions
diff --git a/i18npool/source/inputchecker/inputsequencechecker.cxx b/i18npool/source/inputchecker/inputsequencechecker.cxx
index 6fdc99440f28..15426db1bc57 100644
--- a/i18npool/source/inputchecker/inputsequencechecker.cxx
+++ b/i18npool/source/inputchecker/inputsequencechecker.cxx
@@ -43,11 +43,6 @@ InputSequenceCheckerImpl::InputSequenceCheckerImpl(const char *pServiceName)
InputSequenceCheckerImpl::~InputSequenceCheckerImpl()
{
- // Clear lookuptable
- for (lookupTableItem* p : lookupTable)
- delete p;
-
- lookupTable.clear();
}
sal_Bool SAL_CALL
@@ -113,8 +108,8 @@ InputSequenceCheckerImpl::getInputSequenceChecker(sal_Char const * rLanguage)
return cachedItem->xISC;
}
else {
- for (lookupTableItem* l : lookupTable) {
- cachedItem = l;
+ for (auto& l : lookupTable) {
+ cachedItem = l.get();
if (cachedItem->aLanguage == rLanguage)
return cachedItem->xISC;
}
@@ -127,7 +122,8 @@ InputSequenceCheckerImpl::getInputSequenceChecker(sal_Char const * rLanguage)
if ( xI.is() ) {
Reference< XExtendedInputSequenceChecker > xISC( xI, UNO_QUERY );
if (xISC.is()) {
- lookupTable.push_back(cachedItem = new lookupTableItem(rLanguage, xISC));
+ lookupTable.emplace_back(new lookupTableItem(rLanguage, xISC));
+ cachedItem = lookupTable.back().get();
return cachedItem->xISC;
}
}