You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libreoffice/0002-rhbz-1773525-wrong-ele...

43 lines
1.5 KiB

From e60702efcc0e09dd386908c3c04e4d37a5b1d967 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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<sal_uInt16>(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