From e60702efcc0e09dd386908c3c04e4d37a5b1d967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Mon, 18 Nov 2019 13:44:46 +0000 Subject: [PATCH 2/2] rhbz#1773525 wrong elements removed from saved entries when limit hit Change-Id: Iaf8a012ffe927cbf38789e97b469d899e7cbf87b --- svx/source/dialog/srchdlg.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx index a2d2747e0221..85b5560b1558 100644 --- a/svx/source/dialog/srchdlg.cxx +++ b/svx/source/dialog/srchdlg.cxx @@ -1581,16 +1581,16 @@ void SvxSearchDialog::Remember_Impl( const OUString &rStr, bool _bSearch ) if (std::find(pArr->begin(), pArr->end(), rStr) != pArr->end()) return; + pArr->insert(pArr->begin(), rStr); + pListBox->insert_text(0, rStr); + // delete oldest entry at maximum occupancy (ListBox and Array) - if(nRememberSize < pArr->size()) + size_t nArrSize = pArr->size(); + if (nArrSize > nRememberSize) { - pListBox->remove(static_cast(nRememberSize - 1)); - (*pArr)[nRememberSize - 1] = rStr; - pArr->erase(pArr->begin() + nRememberSize - 1); + pListBox->remove(nArrSize - 1); + pArr->erase(pArr->begin() + nArrSize - 1); } - - pArr->insert(pArr->begin(), rStr); - pListBox->insert_text(0, rStr); } void SvxSearchDialog::TemplatesChanged_Impl( SfxStyleSheetBasePool& rPool ) -- 2.20.1