cui/source/tabpages/autocdlg.cxx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-)
New commits: commit 3a2d31cdd684b42b0921917dc7a8c27d6f6bb25a Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Mon Jun 24 16:12:52 2019 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Tue Jun 25 09:05:43 2019 +0200 tdf#109158 slow AutoCorrect table, speedup switching away from language Switching from the large table to another language could result in freezing up for some time, so use the nice weld::TreeIter API here too Change-Id: I28f422dcdbc762b282ed6bd1dffc8140ee77900f Reviewed-on: https://gerrit.libreoffice.org/74649 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx index 9b2a98e20584..20028e16456b 100644 --- a/cui/source/tabpages/autocdlg.cxx +++ b/cui/source/tabpages/autocdlg.cxx @@ -793,16 +793,14 @@ void OfaAutocorrReplacePage::RefillReplaceBox(bool bFromReset, pArray = &aDoubleStringTable[eOldLanguage]; // create new array } - sal_uInt32 nListBoxCount = m_xReplaceTLB->n_children(); - sal_uInt32 i; - for(i = 0; i < nListBoxCount; i++) - { + m_xReplaceTLB->all_foreach([this, &pArray](weld::TreeIter& rIter) { pArray->push_back(DoubleString()); - DoubleString& rDouble = (*pArray)[pArray->size() - 1]; - rDouble.sShort = m_xReplaceTLB->get_text(i, 0); - rDouble.sLong = m_xReplaceTLB->get_text(i, 1); - rDouble.pUserData = reinterpret_cast<void*>(m_xReplaceTLB->get_id(i).toInt64()); - } + DoubleString& rDouble = pArray->back(); + rDouble.sShort = m_xReplaceTLB->get_text(rIter, 0); + rDouble.sLong = m_xReplaceTLB->get_text(rIter, 1); + rDouble.pUserData = reinterpret_cast<void*>(m_xReplaceTLB->get_id(rIter).toInt64()); + return false; + }); } if( !bSWriter ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits