summaryrefslogtreecommitdiff
path: root/include/unotools
AgeCommit message (Collapse)AuthorFilesLines
2018-07-10pass SvStream around by std::unique_ptrNoel Grandin2-7/+11
and give utl::OStreamWrapper a new constructor so that it knows it is taking ownership of the SvStream, which appears to fix several leaks Change-Id: Idcbcca9b81a4f0345fd8b8c8a2f4e84213686a6b Reviewed-on: https://gerrit.libreoffice.org/57187 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-08tdf#115007: Use [NatNum12 params...] syntaxMike Kaganski1-3/+9
This allows using all the libnumbertext library functions. [NatNum12] gives cardinal number names (one, two, three, ...) [NatNum12 ordinal] gives ordinal number names (first, second, third, ...) [NatNum12 ordinal-number] gives ordinal indicators (1st, 2nd, 3rd, ...) [NatNum12 money USD][$-409] gives formal English (US) money text ... etc (see numbertext.org for syntax). Change-Id: I16dbb44d8d4bdb82a1b950de6d438c8311b554ff Reviewed-on: https://gerrit.libreoffice.org/54366 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2018-06-06enable incremental linking on windowsNoel Grandin1-3/+3
requires a handful of workarounds Change-Id: I77c25580135eeec437716eceea1412607f8d14ca Reviewed-on: https://gerrit.libreoffice.org/55244 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-05tdf#42949 remove unused compheler includes ..Jochen Nitschke2-2/+0
and fix the fallout Change-Id: I15bc5d626f4d157cbc69a87392078b41e621d14e Reviewed-on: https://gerrit.libreoffice.org/54882 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-05-28loplugin:unusedmethodsNoel Grandin1-10/+0
Change-Id: I64df1f467986b3d70c058adff289a6dd8f00fb20 Reviewed-on: https://gerrit.libreoffice.org/54821 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-20tdf#35798: Hide empty Database fields' paragraphs (+ compat option)Mike Kaganski1-0/+1
With this change, Database fields that expand to empty values behave as if they are "Hidden Paragraph" fields. A compatibility option to enable this behaviour is added. The option is enabled by default, and for any non-native documents (for compatibility with other office suites). For existing (F)ODT documents, the option is disabled for those documents that don't have this setting set, to keep the layout of legacy documents. Change-Id: Ic5e8cb15a3a7d1a765a984eef4b0d97666df7dfd Reviewed-on: https://gerrit.libreoffice.org/54552 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-05-03tdf#117171 support localized number name numbering stylesLászló Németh1-0/+2
in page number, chapter and outline numbering in ~30 languages by integrating libnumbertext library. - offapi: add linguistic2::NumberText New NumberingType constants: - ordinal indicators (1st, 2nd, 3rd...) - cardinal number names (One, Two, Three...) - ordinal number names (First, Second, Third...) Note: these numberings are parts of OOXML, too. Plain text files of Libnumbertext's language data are installed in share/numbertext (similar to share/fingerprint), allowing further customization. Change-Id: I4034da0a40a8c926f14a3f591749a89a8d807d5a Reviewed-on: https://gerrit.libreoffice.org/53313 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2018-04-26identify tab pages by name for save/storing active tabCaolán McNamara1-2/+2
Change-Id: Id66f8ff62ed08724702572f457b9fc857d567e89 Reviewed-on: https://gerrit.libreoffice.org/53465 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-25Revert "make UcbStreamHelper return SvStream by std::unique_ptr"Noel Grandin1-8/+7
This reverts commit eeefb8c440b514cefdc4e82cc06843da9eabeb13. this was pushed in error
2018-04-25make UcbStreamHelper return SvStream by std::unique_ptrNoel Grandin1-7/+8
Change-Id: I408f9193680ea73c61fcfb2bd1e860152219702c
2018-03-08loplugin:constantparam in svtools..unotoolsNoel Grandin1-2/+1
Change-Id: I6e72fbe44dcb65ee5162448e9a72e6437d56b044 Reviewed-on: https://gerrit.libreoffice.org/50948 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-05tdf#108523 Removed @author annotations.Manuj Vashist2-6/+0
Change-Id: I6a60128c413beab6cabb857c073607e15ddbc98f Reviewed-on: https://gerrit.libreoffice.org/49215 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-02-01Fix typosAndrea Gelmini5-5/+5
Change-Id: I455efa82de60b764a500e1cc092ae08e800ec824 Reviewed-on: https://gerrit.libreoffice.org/49068 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-01-30Typ-o negativIlmari Lauhakangas1-1/+1
Fixed some typos and translated a couple of German words Change-Id: I24ae28dd537ba283a9480413659f85bd6711acad Reviewed-on: https://gerrit.libreoffice.org/48892 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-14Fix typosAndrea Gelmini1-1/+1
Change-Id: I2b4988e1d81fe60f7699362480cd739d2620c053 Reviewed-on: https://gerrit.libreoffice.org/47856 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-11loplugin:useuniqueptr in tools,stoc,unotoolsNoel Grandin2-7/+10
Change-Id: Ia72b65577143623cedc7a40bc34f7fb897add097 Reviewed-on: https://gerrit.libreoffice.org/47726 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-04loplugin:unusedfieldsNoel Grandin1-2/+0
fix the ReturnStmt check Change-Id: I95076076bd1313d23798c4615ea12910c86ed9a8 Reviewed-on: https://gerrit.libreoffice.org/47309 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-03loplugin:singlevalfields improve copy constructor checkNoel Grandin1-9/+0
Change-Id: Id1e7fbecd9e9f816553d2e678c3f1b7890fc4db8 Reviewed-on: https://gerrit.libreoffice.org/47293 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-24loplugin:passstuffbyref even more return improvementsNoel Grandin1-2/+2
Change-Id: I2a752025cd429e4d271626402dce5d8a8b0c76d2 Reviewed-on: https://gerrit.libreoffice.org/47021 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19Read some configuration items directlyStephan Bergmann1-6/+0
...removing them from SvtSaveOptions Change-Id: I922ec0f88872b1f2d99c6a55faad00143d944473 Reviewed-on: https://gerrit.libreoffice.org/46797 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-19Don't leak SvtSaveOptions instance through ItemHolder1::holdConfigItemStephan Bergmann1-1/+0
...where ItemHolder1 apparently leaks the items ever since > commit ef2c49c9a5788e35249d8d5406a09c84ecd062ee > Author: Rüdiger Timm <rt@openoffice.org> > Date: Fri Nov 11 07:50:10 2005 +0000 > > INTEGRATION: CWS perform06 (1.6.60); FILE MERGED > 2005/11/07 13:32:40 as 1.6.60.2: #i56589# dont cache GlobalEventConfig() inside ItemHolder1^... combination of static pointer and WeakImplHelper cant not work > 2005/10/25 08:04:02 as 1.6.60.1: #i56589# hold config items alive till office die That started to cause problems when 78a6ce17f06fbe13b806fd563e85a4fe60d3bcfc "DELETEZ->std::unique_ptr in toolkit,unotools" now stopped to leak the global static std::unique_ptr<SvtLoadSaveOptions_Impl> pOptions; in unotools/source/config/saveopt.cxx when any SvtSaveOptions instances are leaked, so that at least PythonTest_pyuno_pytests_testcollections started to fail in ASan builds now when that global pOptions is destroyed at exit. I don't see a good reason for that ItemHolder1::holdConfigItem stuff here, so lets try and drop it from SvtSaveOptions at least. Change-Id: I6d44708fc4e2e5dfafaa9bfe8f3fa2f854ae0952 Reviewed-on: https://gerrit.libreoffice.org/46726 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-19inline use-once typedefsNoel Grandin1-3/+1
Change-Id: I5c3ffc03c26b3428f1f336e6ecba7838a1cf1157 Reviewed-on: https://gerrit.libreoffice.org/46764 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19Read/write 'encrypt to self' bitKatarina Behrens1-1/+4
use some template functions to avoid duplicate code Change-Id: Ia178ea3a0561e34e0431749262f5f8f1f49b4fe7 Reviewed-on: https://gerrit.libreoffice.org/46693 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-12-19Read/write preferred GPG signing/encryption keysKatarina Behrens1-1/+5
Change-Id: I3e21469c5f4c4f199407bbe9faba2e2ddca531b3 Reviewed-on: https://gerrit.libreoffice.org/46692 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-12-15Make temp copy of dbaccess/qa/unit/data/firebird_empty.odb for testingStephan Bergmann1-3/+2
...in CppunitTest_dbaccess_firebird_test. Otherwise, the test would fail with > Test name: FirebirdTest::testEmptyDBConnection > An uncaught exception of type com.sun.star.sdbc.SQLException > - The connection can not be established. No storage or URL was given. if dbaccess/qa/unit/data/firebird_empty.odb is read-only, as DocumentStorageAccess::impl_openSubStorage_nothrow (dbaccess/source/core/dataaccess/ModelImpl.cxx) takes m_pModelImplementation->m_bDocumentReadOnly into account and returns a null xStorage. Adds a move ctor to utl::TempFile (thus causing copy ctor and copy assignment op to be implicitly deleted), but leaves any move assignment op undeclared for now, as none happens to be needed (yet). Change-Id: I6f9eff07eb54f1364a0560ffa4cf1f676a319d16 Reviewed-on: https://gerrit.libreoffice.org/46561 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-06unotools: remove not needed UcbStreamHelper inheritanceMiklos Vajna1-1/+1
This class only has static member functions, nothing requires that inheritance. Change-Id: I31db802d0a9dcda01772b1e09a68af770868358d Reviewed-on: https://gerrit.libreoffice.org/45924 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-11-09rename AvoidConfig to FuzzingCaolán McNamara1-5/+5
cause that's what its really used for and a couple of cases are not specifically about avoiding config but avoiding uninteresting disk acccess and what not Change-Id: I4c6454f98388579fcd0bf9798321d30408ab65ee Reviewed-on: https://gerrit.libreoffice.org/44491 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-05Replace lists by vectors in configmgr/unotoolsJulien Nabet1-2/+2
+ use for range loops Change-Id: I4cebcf0536dc6c3ddfdce9532e94c0c380ea3ab9 Reviewed-on: https://gerrit.libreoffice.org/44308 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-10-27LocaleDataWrapper::stringToDouble() w/ decimalSeparatorAlternative, tdf#81671Eike Rathke1-0/+59
To be used instead of rtl::math::stringToDouble() if locale dependent separators are involved. Change-Id: I54359c981901dc57b3d9312b0bfd2f2a14fccb33
2017-10-27Add LocaleDataWrapper::getNumDecimalSepAlt(), tdf#81671Eike Rathke1-1/+3
Change-Id: Id3a16004603685ef859506c2c6d86f8ff097c1d0
2017-10-27Let LocaleDataWrapper::getLocaleItem() return LocaleDataItem2&, tdf#81671Eike Rathke1-3/+4
Change-Id: I16cfe81dd3ce0c8c2e905d55bea13df134c7a398
2017-10-27Supersede with XLocaleData5, LocaleData2, tdf#81671Eike Rathke1-2/+2
Change-Id: I17332be77f9c66c4fcfb7e3f3144ec624b804f94
2017-10-26loplugin:constmethod in svlNoel Grandin1-1/+1
Change-Id: If92869e19c413e11f1f299a97f96b9637aaba65d Reviewed-on: https://gerrit.libreoffice.org/43864 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-26loplugin:constmethods in unotoolsNoel Grandin7-10/+10
Change-Id: I13df4e184a826682f34a1d9e974b601397ba4a3d Reviewed-on: https://gerrit.libreoffice.org/43865 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-23overload std::hash for OUString and OStringNoel Grandin1-3/+3
no need to explicitly specify it anymore Change-Id: I6ad9259cce77201fdd75152533f5151aae83e9ec Reviewed-on: https://gerrit.libreoffice.org/43567 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-13tdf#110742 add support for icon themes via extension managerCaolán McNamara1-0/+2
Change-Id: Ic33c086ef67cdcb634d9f03f84799c234fe3beec Reviewed-on: https://gerrit.libreoffice.org/43341 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-06Revert "remove handing of deprecated Storage path option"Noel Grandin1-0/+3
This reverts commit b71fdc67ed1efd421b9b1c747708958e8e09f73c. since Jochen indicates that there is a bug in it Change-Id: I786a7885a308cb43b99d9930ed385a75bbcd9495 Reviewed-on: https://gerrit.libreoffice.org/43192 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-05loplugin:finalclasses in unotools..vbahelperNoel Grandin2-8/+4
Change-Id: I9350f9d37eaba99a1d74e103c969a9dcfe795497 Reviewed-on: https://gerrit.libreoffice.org/43160 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-05remove handing of deprecated Storage path optionJochen Nitschke1-3/+0
The only user of StoragePath was TemplateFolderCacheImpl::openCacheStream which uses TempPath for the cache file now. Change-Id: Ia21b5aa804222f28a3af3779a0ecc4789c1860b3 Reviewed-on: https://gerrit.libreoffice.org/41087 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-12use std::unique_ptr in TItemInfoNoel Grandin1-5/+9
and inline the TItems typedef Change-Id: I0c50d12d53ce4b52c330cad8790a65065ebdd82e Reviewed-on: https://gerrit.libreoffice.org/42182 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-06Don't call NotifyListeners with mutex lockedStephan Bergmann1-2/+0
...as it causes ThreadSanitizer failures during CppunitTest_basic_macros: > WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=27295) > Cycle in lock order graph: M290054517485674432 (0x000000000000) => M2405 (0x7b0c000054c0) => M290054517485674432 > > Mutex M2405 acquired here while holding mutex M290054517485674432 in main thread: > #0 pthread_mutex_lock compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:3800 (cppunittester+0x45ad87) > #1 osl_acquireMutex sal/osl/unx/mutex.cxx:97:16 (libuno_sal.so.3+0xc1ffa) > #2 osl::Mutex::acquire() include/osl/mutex.hxx:56:20 (libutllo.so+0xc06c8) > #3 osl::Guard<osl::Mutex>::Guard(osl::Mutex&) include/osl/mutex.hxx:129:17 (libutllo.so+0xbcccf) > #4 SvtSysLocaleOptions::SvtSysLocaleOptions() unotools/source/config/syslocaleoptions.cxx:504:16 (libutllo.so+0x21a4cd) > #5 SvNumberFormatterRegistry_Impl::SvNumberFormatterRegistry_Impl() svl/source/numbers/zforlist.cxx:184:33 (libsvllo.so+0x3da143) > #6 SvNumberFormatter::GetFormatterRegistry() svl/source/numbers/zforlist.cxx:368:34 (libsvllo.so+0x3e0a70) > #7 SvNumberFormatter::ImpConstruct(o3tl::strong_int<unsigned short, LanguageTypeTag>) svl/source/numbers/zforlist.cxx:322:5 (libsvllo.so+0x3dc328) > #8 SvNumberFormatter::SvNumberFormatter(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, o3tl::strong_int<unsigned short, LanguageTypeTag>) svl/source/numbers/zforlist.cxx:263:5 (libsvllo.so+0x3dbcb9) > #9 SbiScanner::NextSym() basic/source/comp/scanner.cxx:563:31 (libsblo.so+0x267d29) > #10 SbiTokenizer::Next() basic/source/comp/token.cxx:327:10 (libsblo.so+0x2771b8) > #11 SbModule::SetSource32(rtl::OUString const&) basic/source/classes/sbxmod.cxx:912:26 (libsblo.so+0x203ac8) > #12 StarBASIC::MakeModule(rtl::OUString const&, com::sun::star::script::ModuleInfo const&, rtl::OUString const&) basic/source/classes/sb.cxx:1065:8 (libsblo.so+0x16559a) > #13 StarBASIC::MakeModule(rtl::OUString const&, rtl::OUString const&) basic/source/classes/sb.cxx:1037:12 (libsblo.so+0x164fdc) > #14 MacroSnippet::MakeModule(rtl::OUString const&) basic/qa/cppunit/basictest.cxx:29:22 (libtest_basic_macros.so+0xa7ac) > #15 MacroSnippet::LoadSourceFromFile(rtl::OUString const&) basic/qa/cppunit/basictest.cxx:72:5 (libtest_basic_macros.so+0xb240) > #16 (anonymous namespace)::Coverage::run_test(rtl::OUString const&) basic/qa/cppunit/basic_coverage.cxx:75:15 (libtest_basic_macros.so+0x113d9) > #17 (anonymous namespace)::Coverage::process_directory(rtl::OUString const&) basic/qa/cppunit/basic_coverage.cxx:126:17 (libtest_basic_macros.so+0x10f46) > #18 (anonymous namespace)::Coverage::Coverage_Iterator() basic/qa/cppunit/basic_coverage.cxx:141:5 (libtest_basic_macros.so+0x1066e) > #19 void std::__invoke_impl<void, void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&>(std::__invoke_memfun_deref, void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:227:14 (libtest_basic_macros.so+0x12ffe) > #20 std::result_of<void ((anonymous namespace)::Coverage::* const&((anonymous namespace)::Coverage*&))()>::type std::__invoke<void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&>(void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:250:14 (libtest_basic_macros.so+0x12eed) > #21 _ZNKSt12_Mem_fn_baseIMN12_GLOBAL__N_18CoverageEFvvELb1EEclIJRPS1_EEEDTclsr3stdE8__invokedtdefpT6_M_pmfspclsr3stdE7forwardIT_Efp_EEEDpOS8_ /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:604:11 (libtest_basic_macros.so+0x12dcb) > #22 void std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:933:11 (libtest_basic_macros.so+0x12d3b) > #23 void std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)>::operator()<, void>() /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:991:17 (libtest_basic_macros.so+0x12c46) > #24 std::_Function_handler<void (), std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:1731:2 (libtest_basic_macros.so+0x1260a) > #25 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:2127:14 (libtest_basic_macros.so+0x1a6be) > #26 CppUnit::TestCaller<(anonymous namespace)::Coverage>::runTest() workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7 (libtest_basic_macros.so+0x11dac) > #27 CppUnit::TestCaseMethodFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5 (libcppunit-1.14.so.0+0xd61d2) > #28 (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) test/source/vclbootstrapprotector.cxx:39:14 (libvclbootstrapprotector.so+0x1114) > #29 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #30 (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:89:12 (unobootstrapprotector.so+0x2204) > #31 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #32 (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16 (unoexceptionprotector.so+0x23e9) > #33 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #34 CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12 (libcppunit-1.14.so.0+0xa57ad) > #35 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #36 CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18 (libcppunit-1.14.so.0+0xc4a96) > #37 CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28 (libcppunit-1.14.so.0+0xf4714) > #38 CppUnit::TestCase::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13 (libcppunit-1.14.so.0+0xd5750) > #39 CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (libcppunit-1.14.so.0+0xd6d5a) > #40 CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (libcppunit-1.14.so.0+0xd6a2e) > #41 CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (libcppunit-1.14.so.0+0xd6d5a) > #42 CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (libcppunit-1.14.so.0+0xd6a2e) > #43 CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27 (libcppunit-1.14.so.0+0x10282c) > #44 CppUnit::TestResult::runTest(CppUnit::Test*) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9 (libcppunit-1.14.so.0+0xf4223) > #45 CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14 (libcppunit-1.14.so.0+0x102c76) > #46 (anonymous namespace)::ProtectedFixtureFunctor::run() const sal/cppunittester/cppunittester.cxx:316:20 (cppunittester+0x4bd528) > #47 sal_main() sal/cppunittester/cppunittester.cxx:466:20 (cppunittester+0x4bc15e) > #48 main sal/cppunittester/cppunittester.cxx:373:1 (cppunittester+0x4bb9d5) > > Mutex M290054517485674432 previously acquired by the same thread here: > #0 pthread_mutex_lock compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:3800 (cppunittester+0x45ad87) > #1 osl_acquireMutex sal/osl/unx/mutex.cxx:97:16 (libuno_sal.so.3+0xc1ffa) > #2 osl::Mutex::acquire() include/osl/mutex.hxx:56:20 (libsvllo.so+0xeced8) > #3 osl::Guard<osl::Mutex>::Guard(osl::Mutex&) include/osl/mutex.hxx:129:17 (libsvllo.so+0xf3b4f) > #4 SvNumberFormatter::ImpConstruct(o3tl::strong_int<unsigned short, LanguageTypeTag>) svl/source/numbers/zforlist.cxx:321:23 (libsvllo.so+0x3dc31e) > #5 SvNumberFormatter::SvNumberFormatter(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, o3tl::strong_int<unsigned short, LanguageTypeTag>) svl/source/numbers/zforlist.cxx:263:5 (libsvllo.so+0x3dbcb9) > #6 SbiScanner::NextSym() basic/source/comp/scanner.cxx:563:31 (libsblo.so+0x267d29) > #7 SbiTokenizer::Next() basic/source/comp/token.cxx:327:10 (libsblo.so+0x2771b8) > #8 SbModule::SetSource32(rtl::OUString const&) basic/source/classes/sbxmod.cxx:912:26 (libsblo.so+0x203ac8) > #9 StarBASIC::MakeModule(rtl::OUString const&, com::sun::star::script::ModuleInfo const&, rtl::OUString const&) basic/source/classes/sb.cxx:1065:8 (libsblo.so+0x16559a) > #10 StarBASIC::MakeModule(rtl::OUString const&, rtl::OUString const&) basic/source/classes/sb.cxx:1037:12 (libsblo.so+0x164fdc) > #11 MacroSnippet::MakeModule(rtl::OUString const&) basic/qa/cppunit/basictest.cxx:29:22 (libtest_basic_macros.so+0xa7ac) > #12 MacroSnippet::LoadSourceFromFile(rtl::OUString const&) basic/qa/cppunit/basictest.cxx:72:5 (libtest_basic_macros.so+0xb240) > #13 (anonymous namespace)::Coverage::run_test(rtl::OUString const&) basic/qa/cppunit/basic_coverage.cxx:75:15 (libtest_basic_macros.so+0x113d9) > #14 (anonymous namespace)::Coverage::process_directory(rtl::OUString const&) basic/qa/cppunit/basic_coverage.cxx:126:17 (libtest_basic_macros.so+0x10f46) > #15 (anonymous namespace)::Coverage::Coverage_Iterator() basic/qa/cppunit/basic_coverage.cxx:141:5 (libtest_basic_macros.so+0x1066e) > #16 void std::__invoke_impl<void, void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&>(std::__invoke_memfun_deref, void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:227:14 (libtest_basic_macros.so+0x12ffe) > #17 std::result_of<void ((anonymous namespace)::Coverage::* const&((anonymous namespace)::Coverage*&))()>::type std::__invoke<void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&>(void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:250:14 (libtest_basic_macros.so+0x12eed) > #18 _ZNKSt12_Mem_fn_baseIMN12_GLOBAL__N_18CoverageEFvvELb1EEclIJRPS1_EEEDTclsr3stdE8__invokedtdefpT6_M_pmfspclsr3stdE7forwardIT_Efp_EEEDpOS8_ /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:604:11 (libtest_basic_macros.so+0x12dcb) > #19 void std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:933:11 (libtest_basic_macros.so+0x12d3b) > #20 void std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)>::operator()<, void>() /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:991:17 (libtest_basic_macros.so+0x12c46) > #21 std::_Function_handler<void (), std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:1731:2 (libtest_basic_macros.so+0x1260a) > #22 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:2127:14 (libtest_basic_macros.so+0x1a6be) > #23 CppUnit::TestCaller<(anonymous namespace)::Coverage>::runTest() workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7 (libtest_basic_macros.so+0x11dac) > #24 CppUnit::TestCaseMethodFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5 (libcppunit-1.14.so.0+0xd61d2) > #25 (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) test/source/vclbootstrapprotector.cxx:39:14 (libvclbootstrapprotector.so+0x1114) > #26 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #27 (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:89:12 (unobootstrapprotector.so+0x2204) > #28 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #29 (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16 (unoexceptionprotector.so+0x23e9) > #30 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #31 CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12 (libcppunit-1.14.so.0+0xa57ad) > #32 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #33 CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18 (libcppunit-1.14.so.0+0xc4a96) > #34 CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28 (libcppunit-1.14.so.0+0xf4714) > #35 CppUnit::TestCase::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13 (libcppunit-1.14.so.0+0xd5750) > #36 CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (libcppunit-1.14.so.0+0xd6d5a) > #37 CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (libcppunit-1.14.so.0+0xd6a2e) > #38 CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (libcppunit-1.14.so.0+0xd6d5a) > #39 CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (libcppunit-1.14.so.0+0xd6a2e) > #40 CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27 (libcppunit-1.14.so.0+0x10282c) > #41 CppUnit::TestResult::runTest(CppUnit::Test*) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9 (libcppunit-1.14.so.0+0xf4223) > #42 CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14 (libcppunit-1.14.so.0+0x102c76) > #43 (anonymous namespace)::ProtectedFixtureFunctor::run() const sal/cppunittester/cppunittester.cxx:316:20 (cppunittester+0x4bd528) > #44 sal_main() sal/cppunittester/cppunittester.cxx:466:20 (cppunittester+0x4bc15e) > #45 main sal/cppunittester/cppunittester.cxx:373:1 (cppunittester+0x4bb9d5) > > Mutex M290054517485674432 acquired here while holding mutex M2405 in main thread: > #0 pthread_mutex_lock compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:3800 (cppunittester+0x45ad87) > #1 osl_acquireMutex sal/osl/unx/mutex.cxx:97:16 (libuno_sal.so.3+0xc1ffa) > #2 osl::Mutex::acquire() include/osl/mutex.hxx:56:20 (libsvllo.so+0xeced8) > #3 osl::Guard<osl::Mutex>::Guard(osl::Mutex&) include/osl/mutex.hxx:129:17 (libsvllo.so+0xf3b4f) > #4 SvNumberFormatter::CurrencyChangeLink(SvNumberFormatter*, LinkParamNone*) svl/source/numbers/zforlist.cxx:3320:23 (libsvllo.so+0x3f7282) > #5 SvNumberFormatter::LinkStubCurrencyChangeLink(void*, LinkParamNone*) svl/source/numbers/zforlist.cxx:3318:1 (libsvllo.so+0x3f71f8) > #6 Link<LinkParamNone*, void>::Call(LinkParamNone*) const include/tools/link.hxx:84:45 (libutllo.so+0x21cfa0) > #7 SvtSysLocaleOptions::ConfigurationChanged(utl::ConfigurationBroadcaster*, ConfigurationHints) unotools/source/config/syslocaleoptions.cxx:674:15 (libutllo.so+0x21c06f) > #8 non-virtual thunk to SvtSysLocaleOptions::ConfigurationChanged(utl::ConfigurationBroadcaster*, ConfigurationHints) unotools/source/config/syslocaleoptions.cxx (libutllo.so+0x21c118) > #9 utl::ConfigurationBroadcaster::NotifyListeners(ConfigurationHints) unotools/source/config/options.cxx:78:33 (libutllo.so+0x1cd63f) > #10 SvtSysLocaleOptions_Impl::SetLocaleString(rtl::OUString const&) unotools/source/config/syslocaleoptions.cxx:390:9 (libutllo.so+0x21935d) > #11 SvtSysLocaleOptions::SetLocaleConfigString(rtl::OUString const&) unotools/source/config/syslocaleoptions.cxx:555:12 (libutllo.so+0x21adcc) > #12 (anonymous namespace)::Coverage::Coverage_Iterator() basic/qa/cppunit/basic_coverage.cxx:156:31 (libtest_basic_macros.so+0x108e4) > #13 void std::__invoke_impl<void, void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&>(std::__invoke_memfun_deref, void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:227:14 (libtest_basic_macros.so+0x12ffe) > #14 std::result_of<void ((anonymous namespace)::Coverage::* const&((anonymous namespace)::Coverage*&))()>::type std::__invoke<void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&>(void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:250:14 (libtest_basic_macros.so+0x12eed) > #15 _ZNKSt12_Mem_fn_baseIMN12_GLOBAL__N_18CoverageEFvvELb1EEclIJRPS1_EEEDTclsr3stdE8__invokedtdefpT6_M_pmfspclsr3stdE7forwardIT_Efp_EEEDpOS8_ /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:604:11 (libtest_basic_macros.so+0x12dcb) > #16 void std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:933:11 (libtest_basic_macros.so+0x12d3b) > #17 void std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)>::operator()<, void>() /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:991:17 (libtest_basic_macros.so+0x12c46) > #18 std::_Function_handler<void (), std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:1731:2 (libtest_basic_macros.so+0x1260a) > #19 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:2127:14 (libtest_basic_macros.so+0x1a6be) > #20 CppUnit::TestCaller<(anonymous namespace)::Coverage>::runTest() workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7 (libtest_basic_macros.so+0x11dac) > #21 CppUnit::TestCaseMethodFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5 (libcppunit-1.14.so.0+0xd61d2) > #22 (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) test/source/vclbootstrapprotector.cxx:39:14 (libvclbootstrapprotector.so+0x1114) > #23 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #24 (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:89:12 (unobootstrapprotector.so+0x2204) > #25 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #26 (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16 (unoexceptionprotector.so+0x23e9) > #27 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #28 CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12 (libcppunit-1.14.so.0+0xa57ad) > #29 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #30 CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18 (libcppunit-1.14.so.0+0xc4a96) > #31 CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28 (libcppunit-1.14.so.0+0xf4714) > #32 CppUnit::TestCase::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13 (libcppunit-1.14.so.0+0xd5750) > #33 CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (libcppunit-1.14.so.0+0xd6d5a) > #34 CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (libcppunit-1.14.so.0+0xd6a2e) > #35 CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (libcppunit-1.14.so.0+0xd6d5a) > #36 CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (libcppunit-1.14.so.0+0xd6a2e) > #37 CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27 (libcppunit-1.14.so.0+0x10282c) > #38 CppUnit::TestResult::runTest(CppUnit::Test*) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9 (libcppunit-1.14.so.0+0xf4223) > #39 CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14 (libcppunit-1.14.so.0+0x102c76) > #40 (anonymous namespace)::ProtectedFixtureFunctor::run() const sal/cppunittester/cppunittester.cxx:316:20 (cppunittester+0x4bd528) > #41 sal_main() sal/cppunittester/cppunittester.cxx:466:20 (cppunittester+0x4bc15e) > #42 main sal/cppunittester/cppunittester.cxx:373:1 (cppunittester+0x4bb9d5) > > Mutex M2405 previously acquired by the same thread here: > #0 pthread_mutex_lock compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:3800 (cppunittester+0x45ad87) > #1 osl_acquireMutex sal/osl/unx/mutex.cxx:97:16 (libuno_sal.so.3+0xc1ffa) > #2 osl::Mutex::acquire() include/osl/mutex.hxx:56:20 (libutllo.so+0xc06c8) > #3 osl::Guard<osl::Mutex>::Guard(osl::Mutex&) include/osl/mutex.hxx:129:17 (libutllo.so+0xbcccf) > #4 SvtSysLocaleOptions::SetLocaleConfigString(rtl::OUString const&) unotools/source/config/syslocaleoptions.cxx:554:16 (libutllo.so+0x21adab) > #5 (anonymous namespace)::Coverage::Coverage_Iterator() basic/qa/cppunit/basic_coverage.cxx:156:31 (libtest_basic_macros.so+0x108e4) > #6 void std::__invoke_impl<void, void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&>(std::__invoke_memfun_deref, void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:227:14 (libtest_basic_macros.so+0x12ffe) > #7 std::result_of<void ((anonymous namespace)::Coverage::* const&((anonymous namespace)::Coverage*&))()>::type std::__invoke<void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&>(void ((anonymous namespace)::Coverage::* const&)(), (anonymous namespace)::Coverage*&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:250:14 (libtest_basic_macros.so+0x12eed) > #8 _ZNKSt12_Mem_fn_baseIMN12_GLOBAL__N_18CoverageEFvvELb1EEclIJRPS1_EEEDTclsr3stdE8__invokedtdefpT6_M_pmfspclsr3stdE7forwardIT_Efp_EEEDpOS8_ /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:604:11 (libtest_basic_macros.so+0x12dcb) > #9 void std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:933:11 (libtest_basic_macros.so+0x12d3b) > #10 void std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)>::operator()<, void>() /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:991:17 (libtest_basic_macros.so+0x12c46) > #11 std::_Function_handler<void (), std::_Bind<std::_Mem_fn<void ((anonymous namespace)::Coverage::*)()> ((anonymous namespace)::Coverage*)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:1731:2 (libtest_basic_macros.so+0x1260a) > #12 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:2127:14 (libtest_basic_macros.so+0x1a6be) > #13 CppUnit::TestCaller<(anonymous namespace)::Coverage>::runTest() workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7 (libtest_basic_macros.so+0x11dac) > #14 CppUnit::TestCaseMethodFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5 (libcppunit-1.14.so.0+0xd61d2) > #15 (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) test/source/vclbootstrapprotector.cxx:39:14 (libvclbootstrapprotector.so+0x1114) > #16 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #17 (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:89:12 (unobootstrapprotector.so+0x2204) > #18 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #19 (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16 (unoexceptionprotector.so+0x23e9) > #20 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #21 CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12 (libcppunit-1.14.so.0+0xa57ad) > #22 CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (libcppunit-1.14.so.0+0xc7614) > #23 CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18 (libcppunit-1.14.so.0+0xc4a96) > #24 CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28 (libcppunit-1.14.so.0+0xf4714) > #25 CppUnit::TestCase::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13 (libcppunit-1.14.so.0+0xd5750) > #26 CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (libcppunit-1.14.so.0+0xd6d5a) > #27 CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (libcppunit-1.14.so.0+0xd6a2e) > #28 CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (libcppunit-1.14.so.0+0xd6d5a) > #29 CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (libcppunit-1.14.so.0+0xd6a2e) > #30 CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27 (libcppunit-1.14.so.0+0x10282c) > #31 CppUnit::TestResult::runTest(CppUnit::Test*) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9 (libcppunit-1.14.so.0+0xf4223) > #32 CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14 (libcppunit-1.14.so.0+0x102c76) > #33 (anonymous namespace)::ProtectedFixtureFunctor::run() const sal/cppunittester/cppunittester.cxx:316:20 (cppunittester+0x4bd528) > #34 sal_main() sal/cppunittester/cppunittester.cxx:466:20 (cppunittester+0x4bc15e) > #35 main sal/cppunittester/cppunittester.cxx:373:1 (cppunittester+0x4bb9d5) Change-Id: I2dc13b1e8a5f58155b2df4679bd1c1d73819cb6f
2017-09-05Drop lazywrite property, which is silently ignored by configmgr anywayStephan Bergmann1-3/+2
...at least ever since the "new" configmgr reimplementation, 6b849a6aeeb9ea8b1e25e28d5a8be390e425f84e "#i101955# initial work in progress of a configmgr reimplementation (for now in an extra module 'configmgr2')" et al Change-Id: I43430d991647fb2e26762463d51175247db0604b
2017-08-25loplugin:unusedmethodsNoel Grandin1-1/+0
Change-Id: Iaaf9092ec4d6189492906648b84494d087fed81f Reviewed-on: https://gerrit.libreoffice.org/41539 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-08loplugin:unusedmethodsNoel Grandin1-2/+0
Change-Id: Id66cf12e3a59aeed1b9a7a111b841e30b248635b Reviewed-on: https://gerrit.libreoffice.org/40876 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-04Add debug output operator<< for SearchParam::SearchTypeTor Lillqvist1-0/+28
2017-08-01move resmgr to unotoolsCaolán McNamara1-32/+14
and the vast majority of translations is to the ui language so default ctor with that arg and now drop OModuleResourceClient Change-Id: I3b85a560ffdfe5f019c2271ac56a5fe4a361522b
2017-07-31make IntlWrapper arg to GetPresentation non-implicit and non-optionalCaolán McNamara1-15/+8
which requires explicitly adding null in 1) SdrItemBrowserControl::SetAttributes(const SfxItemSet* pSet, const SfxItemSet* p2ndSet) where SdrItemBrowserControl is only used by SdrItemBrowser and the only use of that is within DBG_UTIL in SdrPaintView 2) SwCursorShell::GetContentAtPos( const Point& rPt, within a #ifdef DBG_UTIL block in 3) SvxSearchDialog::BuildAttrText_Impl( OUString& rStr, bool bSrchFlag ) const where the other branch uses SvxResId 4) SfxPoolItem::dumpAsXml(xmlTextWriterPtr pWriter) const 5) XFillStyleItem::dumpAsXml(xmlTextWriterPtr pWriter) const looks very much like all uses (outside the dumpers) are intended to be in the ui locale results in that INetContentTypes::GetPresentation always called with UI Locale Change-Id: I5a110c107838b4db3c355476426d6532f2b6ce52 Reviewed-on: https://gerrit.libreoffice.org/40538 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-07-23remove now unnecessary comphelper::OModuleClient stuffNoel Grandin1-73/+0
after the great gettext migration of 2017 Change-Id: I704389b1ae1fb34dae0429c98cbfc89c2d3b8e27 Reviewed-on: https://gerrit.libreoffice.org/40322 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-21migrate to boost::gettextCaolán McNamara1-36/+6
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis com.sun.star.resource.StringResourceWithLocation can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-07-17loplugin:constparams in configmgr,unotoolsNoel Grandin6-8/+8
Change-Id: Ief3df5487eb20b1f6d0e8aed89cfef4464d23a88 Reviewed-on: https://gerrit.libreoffice.org/40048 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>