summaryrefslogtreecommitdiff
path: root/cppuhelper
AgeCommit message (Collapse)Author
2024-09-05throw more useful exception from OPropertySetHelper::getPropertyValueNoel Grandin
Change-Id: I90e7ab5763bf368cec795a8c39ece17579dd851d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172905 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-09-05tsan: data raceNoel Grandin
Atomic write of size 4 at 0x7254000f5f08 by thread T38 (mutexes: write M0, write M1, write M2): 0 configmgr::Access::acquireCounting() 1 configmgr::Components::initGlobalBroadcaster(configmgr::Modifications const&, rtl::Reference<configmgr::RootAccess> const&, configmgr::Broadcaster*) 2 configmgr::RootAccess::commitChanges() 3 non-virtual thunk to configmgr::RootAccess::commitChanges() 4 utl::OConfigurationTreeRoot::commit() 5 dbaccess::(anonymous namespace)::DatabaseRegistrations::registerDatabaseLocation(rtl::OUString const&, rtl::OUString const&) 6 non-virtual thunk to dbaccess::(anonymous namespace)::DatabaseRegistrations::registerDatabaseLocation(rtl::OUString const&, rtl::OUString const&) 7 dbaccess::ODatabaseContext::registerDatabaseLocation(rtl::OUString const&, rtl::OUString const&) 8 dbaccess::ODatabaseContext::registerObject(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&) 9 non-virtual thunk to dbaccess::ODatabaseContext::registerObject(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&) 10 gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) Previous read of size 4 at 0x7254000f5f08 by main thread (mutexes: write M3, write M4): 0 cppu::OWeakObject::disposeWeakConnectionPoint() 1 cppu::OWeakObject::release() 2 configmgr::RootAccess::release() 3 non-virtual thunk to configmgr::RootAccess::release() 4 com::sun::star::uno::Reference<com::sun::star::util::XChangesBatch>::~Reference() 5 SvtLinguConfig::~SvtLinguConfig() 6 SwDoc::GetGCIterator() 7 SwDoc::StartGrammarChecking(bool) 8 sw::DocumentTimerManager::GetNextIdleJob() 9 sw::DocumentTimerManager::IsDocIdle() 10 sw::SwDocIdle::UpdateMinPeriod(unsigned long) const 11 Scheduler::CallbackTaskScheduling() Change-Id: Idaf2707e5902338a873a325228e9c97e646ea768 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172874 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-11cid#1558088 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1558080 COPY_INSTEAD_OF_MOVE cid#1558077 COPY_INSTEAD_OF_MOVE cid#1558055 COPY_INSTEAD_OF_MOVE cid#1558043 COPY_INSTEAD_OF_MOVE cid#1558039 COPY_INSTEAD_OF_MOVE cid#1558015 COPY_INSTEAD_OF_MOVE cid#1558014 COPY_INSTEAD_OF_MOVE cid#1558009 COPY_INSTEAD_OF_MOVE cid#1558002 COPY_INSTEAD_OF_MOVE cid#1557998 COPY_INSTEAD_OF_MOVE cid#1557996 COPY_INSTEAD_OF_MOVE cid#1557990 COPY_INSTEAD_OF_MOVE cid#1557986 COPY_INSTEAD_OF_MOVE cid#1557980 COPY_INSTEAD_OF_MOVE cid#1557971 COPY_INSTEAD_OF_MOVE cid#1557968 COPY_INSTEAD_OF_MOVE cid#1557967 COPY_INSTEAD_OF_MOVE cid#1557961 COPY_INSTEAD_OF_MOVE cid#1557959 COPY_INSTEAD_OF_MOVE cid#1557958 COPY_INSTEAD_OF_MOVE cid#1557956 COPY_INSTEAD_OF_MOVE cid#1557953 COPY_INSTEAD_OF_MOVE cid#1557949 COPY_INSTEAD_OF_MOVE cid#1557947 COPY_INSTEAD_OF_MOVE cid#1557940 COPY_INSTEAD_OF_MOVE cid#1557931 COPY_INSTEAD_OF_MOVE cid#1557930 COPY_INSTEAD_OF_MOVE cid#1557915 COPY_INSTEAD_OF_MOVE cid#1557913 COPY_INSTEAD_OF_MOVE cid#1557910 COPY_INSTEAD_OF_MOVE cid#1557886 COPY_INSTEAD_OF_MOVE cid#1557884 COPY_INSTEAD_OF_MOVE cid#1557880 COPY_INSTEAD_OF_MOVE cid#1557875 COPY_INSTEAD_OF_MOVE cid#1557871 COPY_INSTEAD_OF_MOVE cid#1557862 COPY_INSTEAD_OF_MOVE cid#1557847 COPY_INSTEAD_OF_MOVE cid#1557845 COPY_INSTEAD_OF_MOVE cid#1557844 COPY_INSTEAD_OF_MOVE cid#1557843 COPY_INSTEAD_OF_MOVE cid#1557838 COPY_INSTEAD_OF_MOVE cid#1557835 COPY_INSTEAD_OF_MOVE cid#1557834 COPY_INSTEAD_OF_MOVE cid#1557828 COPY_INSTEAD_OF_MOVE cid#1557823 COPY_INSTEAD_OF_MOVE cid#1557817 COPY_INSTEAD_OF_MOVE cid#1557813 COPY_INSTEAD_OF_MOVE cid#1557812 COPY_INSTEAD_OF_MOVE Change-Id: I55d4a920daa2d148683419169eb828325fd3c757 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171732 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-28cid#1556624 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556622 COPY_INSTEAD_OF_MOVE cid#1556629 COPY_INSTEAD_OF_MOVE cid#1556632 COPY_INSTEAD_OF_MOVE cid#1556634 COPY_INSTEAD_OF_MOVE cid#1556642 COPY_INSTEAD_OF_MOVE cid#1556644 COPY_INSTEAD_OF_MOVE cid#1556663 COPY_INSTEAD_OF_MOVE cid#1556674 COPY_INSTEAD_OF_MOVE cid#1556682 COPY_INSTEAD_OF_MOVE cid#1556683 COPY_INSTEAD_OF_MOVE cid#1556685 COPY_INSTEAD_OF_MOVE cid#1556694 COPY_INSTEAD_OF_MOVE cid#1556708 COPY_INSTEAD_OF_MOVE cid#1556711 COPY_INSTEAD_OF_MOVE cid#1556712 COPY_INSTEAD_OF_MOVE cid#1556714 COPY_INSTEAD_OF_MOVE cid#1556719 COPY_INSTEAD_OF_MOVE cid#1556727 COPY_INSTEAD_OF_MOVE cid#1556744 COPY_INSTEAD_OF_MOVE cid#1556757 COPY_INSTEAD_OF_MOVE cid#1556782 COPY_INSTEAD_OF_MOVE cid#1556784 COPY_INSTEAD_OF_MOVE Change-Id: I5d5bc884cd7351a81c18b35aaf4e304256242988 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171128 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-07-10Properly implement cppu::throwException for EmscriptenStephan Bergmann
...by implementing (for now) just enough of the cpp2uno half of the Wasm UNO bridge to make it work. In general, that half suffers from the same issue as the already-implemented uno2cpp half, namely that Wasm doesn't allow to generate code on the fly (which, in this case, would be needed to implement the vtable slot trampoline functions). So, for now just hard-code the few vtableSlotFunction_* that are needed by the UNO interfaces for cppuhelper/source/exc_thrower.cxx. (A proper fix would probably use the same approach as for the uno2cpp half, and use something like wasmcallgen to generate at least all the vtableSlotFunction_* needed for udkapi/offapi upfront.) The RTTI for the exceptions needs to be unique across the executable for exception catching to actually work (as it compares exception types by RTTI address rather than by name). We thus need to export all the relevant RTTI symbols (which I hacked into the existing wasmcallgen for now, even if that makes that executable's name a slight misnomer now), and access them with a new jsGetExportedSymbol. (This exporting would also be needed by the "classical" approach of using dlsym on the main module, cf. <https://gerrit.libreoffice.org/c/core/+/167187> "WIP: Emscripten: Set up support for dlsym from main module". And while that dlsym approach would work, it is much simpler to just use that jsGetExportedSymbol than to use a dlsym detour, and thereby avoid all the hassle of -sMAIN_MODULE detailed in the commit message of that Gerrit change.) It also turned out that including Emscripten's <cxxabi.h> needs __USING_WASM_EXCEPTIONS__ to be defined, because it uses that in its declaration of __cxa_throw. (The source for setting that define internally in Emscripten is get_cflags in the emsdk's upstream/emscripten/tools/system_libs.py, which defines __USING_EMSCRIPTEN_EXCEPTIONS__ for the non-Wasm, Emscripten JS exception mode, and defines __USING_WASM_EXCEPTIONS__ for --enable-wasm-exceptions, which we use. The commit message of f4ec967599f5dafa1ce477631d7c2e8de005e28f "Fix redefinion of Emscripten __cxxabiv1::__cxa_exception" documents my prior confusion of when one or the other would be defined.) Change-Id: Id08765ab5b4ce1553dc3a61648324526185cb64c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170246 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-05-08drop requirement for rtl_random_getBytes to have "Pool" argCaolán McNamara
Seeing as since: commit e9531b792ddf0cfc2db11713b574c5fc7ae09e2c Date: Tue Feb 6 14:39:47 2024 +0100 sal: rtlRandomPool: require OS random device, abort if not present Both rtl_random_createPool() and rtl_random_getBytes() first try to get random data from the OS, via /dev/urandom or rand_s() (documented to call RtlGenRandom(), see [1]). we don't use the initial arg to rtl_random_getBytes anymore, drop the requirement to have one. Then simplify our usages of that, and addtionally deprecate rtl_random_createPool and rtl_random_destroyPool. Change-Id: I13dcc067714a8a741a4e8f2bfcf2006373f832c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167067 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-03use boost::small_vector in cppuhelperNoel Grandin
shaves 5% off startup time Change-Id: I901e1112727eb7a50f70d1853386e0696fee7e5e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167000 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-05-02elide some OUString temporariesNoel Grandin
Change-Id: I8364489639c8c02e9670ee597f48d61007244f5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166973 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-04-30WaE: C6011 Dereferencing NULL pointer warningsCaolán McNamara
Change-Id: If4f035fef1e13780b6ce14477ccb2bd7b0eab133 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166829 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-29Drop uses of css::uno::Sequence::getConstArray in cppuhelper .. cuiMike Kaganski
where it was obsoleted by commits 2484de6728bd11bb7949003d112f1ece2223c7a1 (Remove non-const Sequence::begin()/end() in internal code, 2021-10-15) and fb3c04bd1930eedacd406874e1a285d62bbf27d9 (Drop non-const Sequence::operator[] in internal code 2021-11-05). Change-Id: Ia2b60af973183bbe79656e67b5e37d7efa39a308 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166817 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-27loplugin:ostr in cppu,cppuhelperNoel Grandin
Change-Id: I15c00d7a87396d07be2d10a0311f308a93e8eec3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166751 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-03-29tdf#146619 Drop unused 'using namespace' in: cppu/ cppuhelper/Gabor Kelemen
Change-Id: I4658c2a5c780fa5e8dd83381eb9978510973e0a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165511 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-03-07unlock mutex around lok_preload_hookNoel Grandin
because it now instantiates some services Change-Id: Ia4f7c2df9f8dca3334906f0b482853002666ddd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164484 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-02-13we don't need the reg or store libraries for fuzzingCaolán McNamara
possibly other configations too, but just for fuzzing for the moment from looking at: https://oss-fuzz.com/coverage-report/job/libfuzzer_asan_libreoffice/latest and see what is built but is 0% coverage and uninteresting to be non-0 Change-Id: Ia7afdfc033dd8a705d85c76b246dc5dfb259b063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163311 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-27Drop std::as_const from css::uno::Sequence iterationsMike Kaganski
Obsoleted by commit 2484de6728bd11bb7949003d112f1ece2223c7a1 (Remove non-const Sequence::begin()/end() in internal code, 2021-10-15) and commit fb3c04bd1930eedacd406874e1a285d62bbf27d9 (Drop non-const Sequence::operator[] in internal code, 2021-11-05). Change-Id: Idbafef5d34c0d4771cbbf75b9db9712e504164cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162640 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-01-16improve loplugin:cow_wrapperNoel Grandin
some stuff was hiding inside templates Change-Id: I89fd1a926dd6bf96e35a74e5028165acae51c60c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162159 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-10cid#1545177 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1545179 COPY_INSTEAD_OF_MOVE cid#1545187 COPY_INSTEAD_OF_MOVE cid#1545188 COPY_INSTEAD_OF_MOVE cid#1545189 COPY_INSTEAD_OF_MOVE cid#1545196 COPY_INSTEAD_OF_MOVE cid#1545197 COPY_INSTEAD_OF_MOVE cid#1545204 COPY_INSTEAD_OF_MOVE cid#1545223 COPY_INSTEAD_OF_MOVE cid#1545236 COPY_INSTEAD_OF_MOVE cid#1545239 COPY_INSTEAD_OF_MOVE cid#1545253 COPY_INSTEAD_OF_MOVE cid#1545274 COPY_INSTEAD_OF_MOVE cid#1545286 COPY_INSTEAD_OF_MOVE cid#1545309 COPY_INSTEAD_OF_MOVE cid#1545311 COPY_INSTEAD_OF_MOVE cid#1545345 COPY_INSTEAD_OF_MOVE cid#1545358 COPY_INSTEAD_OF_MOVE cid#1545361 COPY_INSTEAD_OF_MOVE cid#1545365 COPY_INSTEAD_OF_MOVE cid#1545367 COPY_INSTEAD_OF_MOVE cid#1545372 COPY_INSTEAD_OF_MOVE cid#1545373 COPY_INSTEAD_OF_MOVE cid#1545377 COPY_INSTEAD_OF_MOVE cid#1545392 COPY_INSTEAD_OF_MOVE cid#1545399 COPY_INSTEAD_OF_MOVE cid#1545404 COPY_INSTEAD_OF_MOVE cid#1545408 COPY_INSTEAD_OF_MOVE cid#1545430 COPY_INSTEAD_OF_MOVE cid#1545439 COPY_INSTEAD_OF_MOVE cid#1545449 COPY_INSTEAD_OF_MOVE Change-Id: I3afe836a0bbc8bd70937035e60eb020435e413d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160539 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-19Extended loplugin:ostr: Automatic rewrite O[U]StringLiteral: cppuhelperStephan Bergmann
Change-Id: I4c221461c60c5e96b738bb902253984a9b0b312b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158170 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-07loplugin:ostr: automatic rewriteStephan Bergmann
Change-Id: I2d09b2b83e1b50493ec88d0b2c323a83c0c86395 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157647 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2023-09-29cid#1537991 Unchecked return valueCaolán McNamara
Change-Id: I303817f007dd0035e64d15b3f9310a06aab18060 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157396 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-06-12tdf#153109 Use any_of instead of loop to check a rangeParis Oplopoios
Change-Id: Icf65288a7e53257008129b71e8d716b0b0c7f5fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152868 Tested-by: Paris Oplopoios <parisoplop@gmail.com> Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
2023-05-10use WeakComponentImplHelper2 in Bootstrap_MacroExpanderNoel Grandin
Change-Id: I49f051d9c9da46ec877e4f611836c7a3548f9f10 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151581 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-10use WeakComponentImplHelper2 in ServiceManagerNoel Grandin
Change-Id: I0f141398effbd2673c02f9d1f4378fd4e67af655 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151580 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-09use WeakComponentImplHelper2 in TypeManagerNoel Grandin
Change-Id: I2358006a069ea4e8cdeeeafb8384ad8d47fba50a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151579 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-09copy some comphelper code down into cppuhelperNoel Grandin
Since I want to use them in the cppuhelper too, but comphelper is "above" cppuhelper in the dependency tree. And sharing the code between cppuhelper and the rest of LO across the URE boundary appears to be nigh impossible. Change-Id: I2ebf37746928dc820df43347dc1a2c158f00ec50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151445 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-12fix o3tl::equalsAsciiLNoel Grandin
after I got it wrong in both the original commit commit d15a6560bd445cd1931e9fded6ad8ecfdd54211b use more string_view and in the attempted fix commit dd41ea3ec1f579fabb9f674184b52c1be77e2fdb fix for o3tl::equalsAscii thanks to sberg for spotting that Change-Id: Iff12879de823553b2623db48979e9a720302f2d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150240 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-11fix for o3tl::equalsAsciiNoel Grandin
from commit d15a6560bd445cd1931e9fded6ad8ecfdd54211b use more string_view where the new method was named incorrectly Change-Id: Ia4513fa67f5bda8b6cb56e3db22df48b5e3c7283 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150217 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-24loplugin:stringadd in c*Noel Grandin
after my patch to merge the bufferadd loplugin into stringadd Change-Id: I66f4ce2fd87c1e12eefb14406e0e17212f68ceff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149497 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-22OUString::match -> OUString::startsWithStephan Bergmann
(which reads better in combination with the following OUString::endsWithIgnoreAsciiCase) Change-Id: Ia80e3d205e5e3b48f9df43757fb267258ba3f8ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149353 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-03-22rhbz#2171265 Filter out all non *.rdb filesStephan Bergmann
In that rhbz issue ("Libreoffice cannot start"), it looks like some junk file named /usr/lib64/libreoffice/program/services/services.rdb;63ddcd86 caused soffice.bin to crash early, without any information (cf. a1faf14f74a62ea76141115538d7d30d90c9eeb6 "rhbz#2171265 Report fatal InitApplicationServiceManager failures more reliably"). So, following up on b8c7548527f5fc14fe8fcbe74a749c7e3c10d385 "ignore backup files in services/ directory to avoid debugging grief", extend the set of ignored files to anything starting with "." or not ending in ".rdb" (in any case). Change-Id: I154750465d2128b3ff6493f4ab606072dda61503 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149328 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-03-20cppuhelper : use BaseMutex instead of OFactoryComponentHelper_MutexArnaud VERSINI
Change-Id: I49ed178310b6d8441d8cfdd208b26b8d13ef39ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149091 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-20cppuhelper : use constexpr OUStringLiteral instead of a functionArnaud VERSINI
Change-Id: Icc25698e4213edbeaae1a997dccbee0ff529ce3b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149092 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-13OFactoryComponentHelper's XAggregation is apparently unusedStephan Bergmann
It had been using cppu::OComponentHelper (which derives from XAggregation) ever since b525a3115f54576017a576ff842dede5e2e3545d "initial import", bug e.g. ORegistryFactoryHelper deriving from it implements queryInterface in a way that is incompatible with XAggregation (it should only have forwarded to OFactoryComponentHelper::queryInterface, and rather implemented its logic in an ORegistryFactoryHelper::queryAggregation override). Also, without this commit but instead with a local > diff --git a/cppuhelper/source/factory.cxx b/cppuhelper/source/factory.cxx > index c8efcab0e604..9011264b3f3a 100644 > --- a/cppuhelper/source/factory.cxx > +++ b/cppuhelper/source/factory.cxx > @@ -241,6 +241,7 @@ class OFactoryComponentHelper > , public OComponentHelper > , public OSingleFactoryHelper > { > + void SAL_CALL setDelegator(css::uno::Reference<css::uno::XInterface> const &) final { assert(false); } > public: > OFactoryComponentHelper( > const Reference<XMultiServiceFactory > & rServiceManager, `make check` still succeeded for me on Linux, without hitting that injected assert that should have fired if that XAggregation mechanism had been used after all. So switch from OComponentHelper to WeakComponentImplHelper here (which is the simplest implementation helper to use, even if it still needs the non-standard OFactoryComponentHelper::getTypes overriding the non-fitting WeakComponentImplHelper default implementation). Change-Id: I9fc2f4f2ef36bd016f9a943a8efd5e4ac5f3baaf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145428 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-13Merge OSingleFactoryHelper into OFactoryComponentHelperStephan Bergmann
Change-Id: I7faf7a3ad54c80bd3c53525c92c26c0f980110f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145423 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-12Don't let OSingleFactoryHelper delegate to derived classes' virtual overridesStephan Bergmann
...as it doesn't make sense that e.g. OFactoryComponentHelper::createInstance checked for bOneInstance, called OSingleFactoryHelper::createInstance, which called [OFactoryComponentHelper::]createInstanceWithContext, which checked for bOneInstance again Change-Id: I53f54079a2ac1af18a6e95f0cb9d7b75c1e46ceb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145418 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-12Fix aggregating OFactoryComponentHelper::queryInterfaceStephan Bergmann
4bfc00aca2441082842f91dfba15886258674227 "#67468# factories support XUnloadingPreference now" had added the check for XUnloadingPreference there, but that's already covered by OFactoryComponentHelper::queryAggregation delegating to OSingleFactoryHelper::queryInterface. (And as OFactoryComponentHelper is inheriting XAggregation via OComponentHelper, the only thing that OFactoryComponentHelper::queryInterface shall do is delegate to OComponentHelper::queryInterface.) Change-Id: Iebe507e88791d1e2390d042a8a9c152512ce212a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145420 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-09use std::this_thread::sleep_for instead of osl equivalentArnaud VERSINI
Change-Id: I5b4edc5417e5bb5e082688df616e1d5735717d92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142357 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-06tdf#152380: add checks for names and values sequences length equalityMike Kaganski
Change-Id: Ibeef551126874bcfffb4e7736588e2e1873f5768 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143681 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-12-02Replace some uses of static_type with UnoTypeStephan Bergmann
(which is what that static_type scaffolding calls internally, anyway) Change-Id: Ibd8097de0d6a9cd0040c34e5070dafa8db256b56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143566 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-13Drop obsolete preprocessor directives from UNOIDL filesStephan Bergmann
...which were used by ildc, which is gone since a8485d558fab53291e2530fd9a1be581c1628deb "[API CHANGE] Remove deprecated idlc and regmerge from the SDK", and have always been ignored as legacy by its unoidl-write replacement. This change has been carried out (making use of GNU sed extensions) with > for i in $(git ls-files \*.idl); do sed -i -z -E -e 's/\n\n((#[^\n]*\n)+\n)*(#[^\n]*\n)+\n?/\n\n/g' -e 's/\n(#[^\n]*\n)+/\n/g' "$i"; done && git checkout extensions/source/activex/so_activex.idl odk/examples/OLE/activex/so_activex.idl which apparently happened to do the work. (The final two files are not UNOIDL source files.) Change-Id: Ic9369e05d46e8f7e8a304ab01740b171b92335cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135683 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-02Fix type of cppuhelper::TypeManager::getInterfaceMember separator paramStephan Bergmann
...after a5343a89f898468178f04c241de0b2c2a314a1b5 "use more string_view in cppu" Change-Id: I7cd577f50cd92586e00f347b2e05247b6b5b0331 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135326 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-02clang-tidy modernize-pass-by-value in cppuhelperNoel Grandin
Change-Id: I231b84cd973d730fe301045cb7442af2d1ddc5d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135311 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-09tdf#147021 Use std::size() instead of SAL_N_ELEMENTS() macroPragat Pandya
Change-Id: I54257e87da0cd66da59d820c7960c3e4b020fda3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134027 Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl> Tested-by: Jenkins
2022-05-09osl::Mutex->std::mutex in cppuhelper::ServiceManagerNoel Grandin
Change-Id: I2d30fb3c81e791eb554780b5abf4923a33cc884e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134029 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-06Remove duplicated includesAndrea Gelmini
Change-Id: I137707aaad44ffe42bb4b234a59ff69e4b2ecaa2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133884 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2022-05-05use more o3tl::getTokenNoel Grandin
found by inspecting call sites of OUString::getToken Change-Id: I4269c7476c7aa46fac39528227e350568f0eb34a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132644 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-05use more string_viewNoel Grandin
found by examining the call sites of OString::getToken which means I needed to add a new o3tl::equalsAscii function Change-Id: I7dc0ea1cf5ce8090a708d44f2cf7c938fa200c5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133826 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-04Just use Any ctor instead of makeAny in cppuhelperStephan Bergmann
Change-Id: I296f297060f10e09639da837df44cc9d30cc594b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133832 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-04-26Use o3tl::make_unsigned in some placesStephan Bergmann
...where a signed and an unsigned value are compared, and the signed value has just been proven to be non-negative here Change-Id: I9665e6c2c4c5557f2d4cf1bb646f9fffc7bd7d30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133442 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-04-26revert unnecessary changeNoel Grandin
from commit 25ada1e520b50247aa27fdbb6f1ab35e678c7ef9 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Thu Apr 21 13:59:07 2022 +0200 use more string_view in cppuhelper Change-Id: Ie5bd9226dca0f222edd0798b8b478054eda5162c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133430 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>