unotools/source/i18n/textsearch.cxx | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-)
New commits: commit 5db3a12dffd6edc96474a470728c1b89e129ca36 Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Sat Jul 17 19:02:30 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sun Jul 18 09:06:07 2021 +0200 osl::Mutex->std::mutex in CachedTextSearch and drop an rtl::Static Change-Id: I17bd6ad0b81ecb947e4306819ddc7d83f8a51dba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119112 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/unotools/source/i18n/textsearch.cxx b/unotools/source/i18n/textsearch.cxx index aae6cc573634..38c089f7c835 100644 --- a/unotools/source/i18n/textsearch.cxx +++ b/unotools/source/i18n/textsearch.cxx @@ -35,6 +35,7 @@ #include <rtl/instance.hxx> #include <rtl/ustrbuf.hxx> #include <tools/diagnose_ex.h> +#include <mutex> using namespace ::com::sun::star::util; using namespace ::com::sun::star::uno; @@ -93,30 +94,27 @@ namespace { struct CachedTextSearch { - ::osl::Mutex mutex; + std::mutex mutex; i18nutil::SearchOptions2 Options; css::uno::Reference< css::util::XTextSearch2 > xTextSearch; }; - - struct theCachedTextSearch - : public rtl::Static< CachedTextSearch, theCachedTextSearch > {}; } Reference<XTextSearch2> TextSearch::getXTextSearch( const i18nutil::SearchOptions2& rPara ) { - CachedTextSearch &rCache = theCachedTextSearch::get(); + static CachedTextSearch theCachedTextSearch; - osl::MutexGuard aGuard(rCache.mutex); + std::lock_guard aGuard(theCachedTextSearch.mutex); - if ( lcl_Equals(rCache.Options, rPara) ) - return rCache.xTextSearch; + if ( lcl_Equals(theCachedTextSearch.Options, rPara) ) + return theCachedTextSearch.xTextSearch; Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext(); - rCache.xTextSearch.set( ::TextSearch2::create(xContext) ); - rCache.xTextSearch->setOptions2( rPara.toUnoSearchOptions2() ); - rCache.Options = rPara; + theCachedTextSearch.xTextSearch.set( ::TextSearch2::create(xContext) ); + theCachedTextSearch.xTextSearch->setOptions2( rPara.toUnoSearchOptions2() ); + theCachedTextSearch.Options = rPara; - return rCache.xTextSearch; + return theCachedTextSearch.xTextSearch; } TextSearch::TextSearch(const SearchParam & rParam, LanguageType eLang ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits