summaryrefslogtreecommitdiff
path: root/binaryurp
AgeCommit message (Collapse)Author
2020-09-04tdf#124176 Use #pragma once in binaryurpGeorge Bateman
This commit was carried out by a Python script, source of which is at https://bugs.documentfoundation.org/show_bug.cgi?id=124176#c97. Change-Id: I7141f07eca2b8338be6bd6b24580256cda6ba092 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100129 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-07-10replace usage of blacklist with excludelist for IWYUThorsten Behrens
Background and motivation: https://tools.ietf.org/html/draft-knodel-terminology-02 Change-Id: I2f22d455d2a936a85750eaab1fda215ebb6d9d48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98182 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-07-05binaryurp: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation Change-Id: Ide39715f83b0183f560e16fa69fcb3112496936d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97933 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-30Upcoming improved loplugin:staticanonymous -> redundantstatic: binaryurpStephan Bergmann
Change-Id: I67340a41005d93d11686ed5f5d49bf6e4938f8c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97523 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-25Rephrase commentStephan Bergmann
760980b0b510acac555f0c252fbaa10a4751bded "Fix typos" had, IMO incorrectly, removed one "that" from ..., so that that asynchronous request would... Lets rephrase the original comment in a less problematic way. Change-Id: Ic13ffaad43e2777eb36425363851b53f2f641865 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97087 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-25Fix typosAndrea Gelmini
Change-Id: I2bccc7beb2e9dfccd84b118a33a7aee9753a8be1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97040 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-06-23HACK to decouple URP release calls from all other threadsStephan Bergmann
Abandoned <b9ecec7c74687ed5a9470cffb7d02e0e6e83107e> "Don't call out to UNO with SolarMutex locked" documents a deadlock where a synchronous documentEventOccurred call made with SolarMutex locked evokes an asynchronous release call back (serviced on a different physical thread, but which blocks the original thread) that then wants to acquire the SolarMutex. While we usually appear to get away with wrapping those UNO calls in SolarMutexReleaser (though knowing all too well that that is nothing but a bad hack that may well cause crashes and deadlocks at least in theory), the place in SfxBaseModel::postEvent_Impl was obviously too sensitive for that hack: It did cause enough different crashes (e.g., hitting assert(pSchedulerData == pMostUrgent); in Scheduler::ProcessTaskScheduling, vcl/source/app/scheduler.cxx) and deadlocks (e.g., different threads now taking the SolarMutex and JobExecutor's mutex in framework/source/jobs/jobexecutor.cxx in different orders) to make me search for a different "fix", so I came up with this hack instead. Change-Id: Icd26926279cb86ce529edb4544a3ec0bc9a8b108 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96946 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-10Improve a SAL_WARN messageStephan Bergmann
Change-Id: I31f809e5f6fec109bd0fb58e8290323500d44f13 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96001 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-04Properly handle initial object queryInterface return valueStephan Bergmann
<https://wiki.openoffice.org/wiki/Uno/Remote/Specifications/Uno_Remote_Protocol# The_queryInterface_Message> specifies that this shall return an ANY either of type VOID (so handle that) or of type css.uno.XInterface with non-null value (so throw exceptions for any other kinds of return values). Various Linux Jenkins builds had recently started to sporadically fail during UITest_calc_demo, hitting the assert( type.get()->eTypeClass == typelib_TypeClass_ANY || type.equals(css::uno::TypeDescription(data_.pType))); in the call to binaryurp::BinaryAny::getValue (binaryurp/source/binaryany.cxx), e.g. <<https://ci.libreoffice.org/job/lo_tb_master_linux_dbg/29831/>. While it is unclear why those failures happen, they highlight that this code did not properly handle all possible (valid or invalid) input. Change-Id: I95db574aa102ff75fa22fd24c697a0cfa24b7aff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95527 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-05-15use for-range on Sequence in basctl..canvasNoel Grandin
Change-Id: Idad3d8fbe785c7b1b8b287a3227372adb2757de8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94260 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-28tdf#42949 Add back includes to binaryurp/Gabor Kelemen
mistakenly identified by IWYU as unused Change-Id: Ia9fbce12883e5b45c6b6dfbc27046aca0075a895 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87566 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-28New loplugin:unsignedcompareStephan Bergmann
"Find explicit casts from signed to unsigned integer in comparison against unsigned integer, where the cast is presumably used to avoid warnings about signed vs. unsigned comparisons, and could thus be replaced with o3tl::make_unsigned for clairty." (compilerplugins/clang/unsignedcompare.cxx) o3tl::make_unsigned requires its argument to be non-negative, and there is a chance that some original code like static_cast<sal_uInt32>(n) >= c used the explicit cast to actually force a (potentially negative) value of sal_Int32 to be interpreted as an unsigned sal_uInt32, rather than using the cast to avoid a false "signed vs. unsigned comparison" warning in a case where n is known to be non-negative. It appears that restricting this plugin to non- equality comparisons (<, >, <=, >=) and excluding equality comparisons (==, !=) is a useful heuristic to avoid such false positives. The only remainging false positive I found was 0288c8ffecff4956a52b9147d441979941e8b87f "Rephrase cast from sal_Int32 to sal_uInt32". But which of course does not mean that there were no further false positivies that I missed. So this commit may accidentally introduce some false hits of the assert in o3tl::make_unsigned. At least, it passed a full (Linux ASan+UBSan --enable-dbgutil) `make check && make screenshot`. It is by design that o3tl::make_unsigned only accepts signed integer parameter types (and is not defined as a nop for unsigned ones), to avoid unnecessary uses which would in general be suspicious. But the STATIC_ARRAY_SELECT macro in include/oox/helper/helper.hxx is used with both signed and unsigned types, so needs a little oox::detail::make_unsigned helper function for now. (The ultimate fix being to get rid of the macro in the first place.) Change-Id: Ia4adc9f44c70ad1dfd608784cac39ee922c32175 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87556 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-27tdf#42949 Fix IWYU warnings in binaryurp/Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I293036c7f6ab1af9b9b8736558c6d37124ec6d21 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87116 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-07-31Improved loplugin:stringconstant (now that GCC 7 supports it): binaryurpStephan Bergmann
Change-Id: Ia8ae32426b886fff7824612898b485d090ca51c6 Reviewed-on: https://gerrit.libreoffice.org/76694 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-11Use hasElements to check Sequence emptiness in accessibility..canvasArkadiy Illarionov
Similar to clang-tidy readability-container-size-empty Change-Id: I24c3f04b4eed3c1cd973166885660f113a26844f Reviewed-on: https://gerrit.libreoffice.org/71805 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-22New loplugin:dataStephan Bergmann
...following up on 1453c2c8f13bac64ecd1981af7cebf1c421808ac "prefer vector::data to &vector[0]" Change-Id: I7c113747d92d144a521d49b89384dd8bf1215c01 Reviewed-on: https://gerrit.libreoffice.org/72765 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-02-19Some uses of C++17 class template argument deductionStephan Bergmann
Change-Id: I47c469c0fcdff41d83729be9489c946e81ef3686 Reviewed-on: https://gerrit.libreoffice.org/68020 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-14Use C++17 nested namespace definitions (in binaryurp)Stephan Bergmann
Change-Id: I21594a9fec47ac4a0dd1b821a6b47ea468445c42 Reviewed-on: https://gerrit.libreoffice.org/66295 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-11tdf#112689:Replace chained O(U)StringBuffer::append() with operator+Furkan Ahmet Kara
Change-Id: Ieea40ab9cd15260b02222174b9ac389d8c9f387b Reviewed-on: https://gerrit.libreoffice.org/65746 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2018-12-08Use [[maybe_unused]] instead of cast to voidStephan Bergmann
Change-Id: I1db02a4eff2d6f16bfb18bda2155d8a26c4a9335 Reviewed-on: https://gerrit.libreoffice.org/64814 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-08Remove obsolete SAL_FALLTHROUGH completelyStephan Bergmann
...after 7ffdd830d5fb52f2ca25aa80277d22ea6d89970b "HAVE_CPP_ATTRIBUTE_FALLTHROUGH is always true now" Change-Id: I54e5ff4e036a6bb3e5774d1c0524158aae18e937 Reviewed-on: https://gerrit.libreoffice.org/64800 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-06Use structured bindingStephan Bergmann
Change-Id: I8254d350320115be532c6d595dc56268c8de3ad2 Reviewed-on: https://gerrit.libreoffice.org/64653 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-10-17clang-tidy readability-redundant-smartptr-getNoel Grandin
redundant get() call on smart pointer Change-Id: Icb5a03bbc15e79a30d3d135a507d22914d15c2bd Reviewed-on: https://gerrit.libreoffice.org/61837 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-11Revert "clang bugprone-unused-return-value"Noel Grandin
comment from sberg: aren't these changes broken in general, when the called function may throw an exception before it takes ownership of the passed-in pointer? So revert, except for (a) PlainTextFilterDetect::detect, which was definitely a leak (b) SwCursor::FindAll, where unique_ptr was being unnecessarily used This reverts commit 7764ae70b04058a64a3999529e98d1115ba59d1c. Change-Id: I555e651b44e245b031729013d2ce88d26e8a357e Reviewed-on: https://gerrit.libreoffice.org/60301 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-08clang bugprone-unused-return-valueNoel Grandin
most of these changes just make the change of ownership when using std::unique_ptr clearer, but there is one definite leak fix in PlainTextFilterDetect::detect Change-Id: I8282a68007222a4fee84004f394bde0cca8569e9 Reviewed-on: https://gerrit.libreoffice.org/60159 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-29replace rtl_allocateMemory with std::mallocNoel Grandin
where used directly, since rtl_allocateMemory now just calls into std::malloc Change-Id: I59f85bdb7efdf6baa30e8fcd2370c0f8e9c999ad Reviewed-on: https://gerrit.libreoffice.org/59685 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19inline use-once typedefsNoel Grandin
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-11loplugin:salcall fix functionsNoel Grandin
since cdecl is the default calling convention on Windows for such functions, the annotation is redundant. Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d Reviewed-on: https://gerrit.libreoffice.org/46164 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-23Replace list by vector in incomingrequest (binaryurp)Julien Nabet
Change-Id: Ic08f45f614cfa4643b55142e85e8eeac223abd82 Reviewed-on: https://gerrit.libreoffice.org/44893 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-23Revert partly 9d1f61a61893435b26f7239136ad92b7354545a8Julien Nabet
The use of erase/remove idiom is wrong here since "there can be multiple registrations of the same listener" See Stephan's comments in https://gerrit.libreoffice.org/#/c/44892/3/binaryurp/source/bridge.cxx Change-Id: Iebf979ca25520392ba9de6439d5bf19b8e3446b2 Reviewed-on: https://gerrit.libreoffice.org/45104 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-18Replace some lists by vectors in binaryurpJulien Nabet
+ use for range loops Change-Id: Ied18e378b73826c5a47957cad6cf86a4e19a9230 Reviewed-on: https://gerrit.libreoffice.org/44892 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-26loplugin:constmethods in unotoolsNoel Grandin
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-11binaryurp: consistently use "" and <> for include directivesMike Kaganski
Change-Id: If328428d7f88d8a160888857acd3a07bbd8dab83 Reviewed-on: https://gerrit.libreoffice.org/43318 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-10-04add << operator for css::uno::ExceptionNoel Grandin
Change-Id: Ia23dafd07133779144965682df3b7125a3214235 Reviewed-on: https://gerrit.libreoffice.org/43046 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-09-08clang-tidy modernize-use-emplace in b*Noel Grandin
Change-Id: I51e0369ba2e1fe0b7c934531f71d3bda95ba09ec Reviewed-on: https://gerrit.libreoffice.org/42109 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-25Replace use of oslInterlockedCount with std::atomicStephan Bergmann
The assumption in using std::size_t is that every acquisition can be associated with a unique memory location in the local address space, so the counter cannot overflow. Change-Id: I0d004a81d9bf52cf07d13481d9024fcc10b6db6d Reviewed-on: https://gerrit.libreoffice.org/41580 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-08-11convert std::map::insert to std::map::emplaceNoel Grandin
which is considerably less verbose Change-Id: Ifa373e8eb09e39bd6c8d3578641610a6055a187b Reviewed-on: https://gerrit.libreoffice.org/40978 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-15use more SAL_N_ELEMENTS part 3Noel Grandin
Change-Id: I82e366fefd2e31928b99840fe76649cc3521e623 Reviewed-on: https://gerrit.libreoffice.org/38789 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-09cleanup osl/diagnose.h includesJochen Nitschke
with command > git grep -l osl/diagnose.h *.cxx | xargs grep -L -w 'OSL_\w*' | xargs sed -i '/#include *\(<\|\"\)osl\/diagnose.h\(>\|\"\).*/d' headers need more work Change-Id: I906519ebbd47a04703b4fa5943b2f7abea7a97ab Reviewed-on: https://gerrit.libreoffice.org/37350 Tested-by: Jochen Nitschke <j.nitschke+logerrit@ok.de> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-04-21gbuild: Remove MSVC 2013 legacy codeDavid Ostrovsky
Uwinapi is discontinued. Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01 Reviewed-on: https://gerrit.libreoffice.org/23198 Reviewed-by: David Ostrovsky <david@ostrovsky.org> Tested-by: David Ostrovsky <david@ostrovsky.org>
2017-04-06Improved loplugin:redundantcast, static_cast on arithmetic types: binaryurpStephan Bergmann
Change-Id: I109c8a2c51c7916ce8f8964b57ee45747868844f
2017-02-15Drop :: prefix from std in [a-b]*/Tor Lillqvist
Change-Id: I0422aaf39bbce889c95ed9a81a0784cb03a1badd Reviewed-on: https://gerrit.libreoffice.org/34320 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2017-02-06Add missing #includesStephan Bergmann
...and remove some unncessary using directives/declarations, in preparation of removing now-unnecessary #includes from cppumaker-generated files, post e57ca02849c3d87142ff5ff9099a212e72b8139c "Remove dynamic exception specifications". Change-Id: Iaf1f268871e2ee1d1c76cf90f03557527ebc9067
2017-02-03makeAny->Any in basctl..chart2Noel Grandin
Change-Id: Ief1cdffbfc59ab4e35ac945d020772ff84c50d61 Reviewed-on: https://gerrit.libreoffice.org/33867 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-26Remove dynamic exception specificationsStephan Bergmann
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-11-23New o3tl::runtimeToOUString to convert from C++ runtime NTBS to OUStringStephan Bergmann
Change-Id: I613bb70b6828f615fd45af38b2d873ece55ace60
2016-11-15loplugin:unusedfieldsNoel Grandin
Change-Id: I1400ca0af2c357dff06e5f733ec62b13d6a96461 Reviewed-on: https://gerrit.libreoffice.org/30861 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-16Replace remaining OSL_ASSERT etc. in binaryurpStephan Bergmann
Change-Id: I6f013cacbefe9c681baa3e91f73f4fc05c99ba78
2016-09-16In binaryurp, fix change from rtl_copyMemory to memcpyStephan Bergmann
...done in 36a2db3722b79ed3df075d7f3fa77fb761bcf5a4 "Replace usage of rtl_*Memory with equivalent from string.h" Change-Id: I068feab3140cdcb34ea8c80e273ea2761f0efb7f Reviewed-on: https://gerrit.libreoffice.org/28941 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e