summaryrefslogtreecommitdiff
path: root/include/comphelper
AgeCommit message (Collapse)Author
2017-11-11Avoid using O[U]StringConcat lvalues containing dangling refs to temporariesStephan Bergmann
...in code accidentally using auto like > auto const aURL = uri->getUriReference() + "/" > + INetURLObject::encode( > m_sEmbeddedName, INetURLObject::PART_FPATH, > INetURLObject::EncodeMechanism::All); > > uno::Reference<uno::XInterface> xDataSource(xDatabaseContext->getByName(aURL), uno::UNO_QUERY); in <https://gerrit.libreoffice.org/#/c/44569/1> "Properly construct vnd.sun.star.pkg URL" did (causing hard to debug test failures there). So make functions taking O[U]StringConcat take those by rvalue reference. Unfortunately, that also needed adaption of various functions that just forward their arguments. And some code in sc/qa/unit/ucalc_formula.cxx used CPPUNIT_ASSERT_EQUAL on OUStringConcat arguments in cases where that happened to actually compile (because the structure of the two OUStringConcats was identical), which needed adaption too (but which would arguably better use CPPUNIT_ASSERT_EQUAL_MESSAGE, anyway). Change-Id: I8994d932aaedb2a491c7c81c167e93379d4fb6e3 Reviewed-on: https://gerrit.libreoffice.org/44608 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-11Remove unnecessary makePropertyValue specialization for AnyStephan Bergmann
...that had been introduced with 9e87a00e11486a2be64b0dc2799e3efca4b000cc "oox: replace PUT_PROP macro with comphelper::makePropertyValue() calls", but for reasons unclear to me. toAny is specifically there to either wrap its argument in an Any or, if the argument already is an Any, pass it on unwrapped. There is no deleted toAny overloads or explicit specializations. Change-Id: I63edf22ba3a63f6b3ebb3347ec5dc9ff81fd3bc4 Reviewed-on: https://gerrit.libreoffice.org/44607 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-10No need to blacklist this loplugin:unnecessaryoverrideStephan Bergmann
...a using declaration should fix it just fine Change-Id: I0279994c155775e9a58e93aef8da4522d4fd93fd Reviewed-on: https://gerrit.libreoffice.org/44590 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-09loplugin:finalclasses in comphelperNoel Grandin
convert ServiceInfoHelper to a namespace, since the only usage is to call it's static method Change-Id: I908bdbc06cbdb6b72ee1ae469ff207b2fca69963 Reviewed-on: https://gerrit.libreoffice.org/44533 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-09use rtl::Reference for SlaveDataNoel Grandin
Change-Id: I0cc0455a97be2e0cd84ccadba1f3745b584e1f33 Reviewed-on: https://gerrit.libreoffice.org/44461 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-04Make Windows error reporting more robustMike Kaganski
https://msdn.microsoft.com/en-us/library/ms679351 describes that "it is unsafe to take an arbitrary system error code returned from an API and use FORMAT_MESSAGE_FROM_SYSTEM without FORMAT_MESSAGE_IGNORE_INSERTS" Previously in case when an error string would contain inserts, function returned error, so the error message wasn't shown (at least it didn't crash, thanks to nullptr as the function's last argument). As the function may fail, we now pre-nullify the buffer pointer to avoid dereferencing uninitialized pointer later (though at least for some Windows versions, the function nullifies the pointer in case of FORMAT_MESSAGE_ALLOCATE_BUFFER, but there's no explicit guarantee of this). Also release of allocated buffer is changed to recommended use of HeapFree. The code that doesn't make use of OUString is left directly calling FormatMessage, to avoid introducing new dependencies. Where it makes sense, we now use WindowsErrorString from <comphelper/windowserrorstring.hxx> Change-Id: I834c08eb6d92987e7d3d01e2c36ec55e42aea848 Reviewed-on: https://gerrit.libreoffice.org/44206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-11-03-Werror,-Wsign-compare (clang-cl)Stephan Bergmann
Change-Id: I32f19344d73323482c140e3bd6db5eb3c3ccb8f7 Reviewed-on: https://gerrit.libreoffice.org/44229 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-02Improve failed HRESULT reporting on debugMike Kaganski
Change-Id: Ib69b72f64e8cbaef75ec88aa6b6c49383e5fa1cb Reviewed-on: https://gerrit.libreoffice.org/44187 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-10-30clang-tidy modernize-use-equals-default in comphelperJochen Nitschke
Change-Id: I24a3ecd2ea9fe7e08c92b95aac57a58b922616b2 Reviewed-on: https://gerrit.libreoffice.org/44054 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-25loplugin:constmethod in comphelper,ucbhelperNoel Grandin
Change-Id: I27a860fbbedd2174c60c199af18cae76e02abc25 Reviewed-on: https://gerrit.libreoffice.org/43759 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-23overload std::hash for OUString and OStringNoel Grandin
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-17correct wrong doxygen syntax; also comments clean-upKorrawit Pruegsanusak
Change-Id: I6074241dfcdcd4ca8a365ab6e03f01028d2c1a7b Reviewed-on: https://gerrit.libreoffice.org/43344 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2017-10-05Rename and move SAL_U/W to o3tl::toU/WMike Kaganski
Previosly (since commit 9ac98e6e3488e434bf4864ecfb13a121784f640b) it was expected to gradually remove SAL_U/W usage in Windows code by replacing with reinterpret_cast or changing to some bettertypes. But as it's useful to make use of fact that LibreOffice and Windows use compatible representation of strings, this commit puts these functions to a better-suited o3tl, and recommends that the functions be consistently used throughout Windows-specific code to reflect the compatibility and keep the casts safe. Change-Id: I2f7c65606d0e2d0c01a00f08812bb4ab7659c5f6 Reviewed-on: https://gerrit.libreoffice.org/43150 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-10-04Revert "check for unnecessary DLLPUBLIC annotations"Stephan Bergmann
This reverts commit a599eeab786ecbe1b5b6509e3c792e5c1ba31248, plus follow-up fa4431449d0306e8179f53a2a69c549800bd24bd "Avoid bogus loplugin:dllmacro 'unnecessary *DLLPUBLIC declaration ...'". See (abandoned) <https://gerrit.libreoffice.org/#/c/42983/> "loplugin:dllmacro: Handle implicit member functions" how this would have needed to be extended to give consistent results across Linux and macOS, but then would have started to remove DLLPUBLIC from entities that apparently need to at least have default type visibility on macOS and started to make tests fail.
2017-10-03LOK: getSpellLanguages() is not necessary in comphelper in the end.Jan Holesovsky
Change-Id: If81cd3d4508ba3f44304a9ec9b643bf771e8930c
2017-10-03lok: use getCommandValues to obtain a list of languagesHenry Castro
Change-Id: I4a1f04b9dfe9e3ebbc174380db93c332e958ccfa Reviewed-on: https://gerrit.libreoffice.org/43060 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Henry Castro <hcastro@collabora.com>
2017-10-02lokdialog: Dialog invalidation supportPranav Kant
For now, just invalidate the whole dialog whenever any of the controls in the dialog get invalidated. Since during dialog painting, many such invalidations are triggered, don't listen to them when we are painting. Change-Id: Ia8fc12cf9469691d60e91ef770d687e5ff01a7ef
2017-09-30Use explicit function names for fooA/fooW WinAPI; prefer fooWMike Kaganski
We should only use generic foo function name when it takes params that are also dependent on UNICODE define, like LoadCursor( nullptr, IDC_ARROW ) where IDC_ARROW is defined in MSVC headers synchronised with LoadCursor definition. We should always use Unicode API for any file paths operations, because otherwise we will get "?" for any character in path that is not in current non-unicode codepage, which will result in failed file operations. Change-Id: I3a7f453ca0f893002d8a9764318919709fd8b633 Reviewed-on: https://gerrit.libreoffice.org/42935 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-29check for unnecessary DLLPUBLIC annotationsNoel Grandin
on classes which are fully defined in a header file Rename the dllprivate plugin to dllmacro and add the functionality there. Change-Id: I4581d551c46a8f61213d95973f323359d08278d8
2017-09-27tdf#75757 comphelper: avoid STL inheritance in SequenceAsHashMapMiklos Vajna
Change-Id: I5c7d107a05deb06749b4d04246ba183adfafb14d Reviewed-on: https://gerrit.libreoffice.org/42829 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-09-25Fix typosAndrea Gelmini
Change-Id: I879a52820d78d9151ef64dd21612379f617f66e2 Reviewed-on: https://gerrit.libreoffice.org/42726 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2017-09-19it's spelled "facade"Michael Stahl
Change-Id: I5533a870f44bd12206e3627fe0469f37f4e02436
2017-09-19Fix typosAndrea Gelmini
Change-Id: I59c6ca2af7a3aab55da6a29afa02dcd611492a59 Reviewed-on: https://gerrit.libreoffice.org/42452 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-09-19Unify SolarMutex implementationsJan-Marek Glogowski
All backends implement the SolarMutex in mostly the same way. So this consolidates this code into a GenericSolarMutex. We still need the abstract SolarMutex class for the fake AKA fascade implementation in dbaccess. The patch also replaces various places of direct mutex usage with either SolarMutexGuard or SolarMutexReleaser objects. Change-Id: Ia0146dd6c51a3b9a513cc6af34a66def58aad831 Reviewed-on: https://gerrit.libreoffice.org/42325 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-09-18Some more WIN32_LEAN_AND_MEANMike Kaganski
Change-Id: Iadb0ebb66809c192fb817b8c7cf2f8cdb4d0b874 Reviewed-on: https://gerrit.libreoffice.org/42419 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-05Drop lazywrite property, which is silently ignored by configmgr anywayStephan Bergmann
...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-31Bin fairly pointless default for parameter that was defaulted just once anywayTor Lillqvist
Change-Id: If6d7c8f3223a45803a05d4950abe27bd90ac6dc6
2017-08-31gpg4libre/comphelper: add storage helper for GPG encryption dataThorsten Behrens
Change-Id: Idba9ad7a821cb33070cf5e5a0f79ae55db99b276 Reviewed-on: https://gerrit.libreoffice.org/41504 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
2017-08-30gpg4libre: Add flag for filters that support GPG encryptionKatarina Behrens
Change-Id: I48518f26a3ccbe430d36fb6657bdeff0943492d3 Reviewed-on: https://gerrit.libreoffice.org/41263 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-29Add cautionary commentTor Lillqvist
Change-Id: I6003e8193bf58ba21cd8d5abe42959b489b2f39d
2017-08-18Remove dead function declarationStephan Bergmann
Change-Id: I6d54179a9faeda77a3c3672978cfade8408cb835 Reviewed-on: https://gerrit.libreoffice.org/41275 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-08-18loplugin:unreffun (clang-cl)Stephan Bergmann
Change-Id: I6e5789982789adc68a2e003aa6acff57639d5b5d
2017-08-17remove unnecessary use of OUString::getStrNoel Grandin
Change-Id: I3d13e1c0bb6aa4a7aacc463198747c1368ebc9b4 Reviewed-on: https://gerrit.libreoffice.org/38114 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-08updater: move the windows process starting code to comphelperMarkus Mohrhard
Change-Id: I1a499f57d01ee28afdb2c4f85dc976f2e6837dfd Reviewed-on: https://gerrit.libreoffice.org/40837 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-07-23remove now unnecessary comphelper::OModuleClient stuffNoel Grandin
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-22loplugin:unusedfields in basctl..connectivityNoel Grandin
Change-Id: I2f10daadb84e48eaf96f6cc63899b2f4fce7326e Reviewed-on: https://gerrit.libreoffice.org/40295 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-21Rename InitAnySequence -> InitAnyPropertySequence, and convert some callers.Jan Holesovsky
Change-Id: I410fef49679360f3308ec0f00bb032a2de0d7931 Reviewed-on: https://gerrit.libreoffice.org/40282 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2017-07-21migrate to boost::gettextCaolán McNamara
* 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-20comphelper: Allow initializer lists for Sequences of NamedValues.Jan Holesovsky
This is particularly useful for creation of sequences that are later unwrapped using comphelper::SequenceAsHashMap. Eg. uno::Sequence<uno::Any> aArguments(comphelper::InitAnySequence( { {"SomethingNamed", uno::makeAny(true)}, })); Reference<XExporter> xExporter(aFactory->createInstanceWithArguments(..., aArguments), UNO_QUERY); and in the implementation where the arguments are consumed: comphelper::SequenceAsHashMap aArgumentsMap(rArguments); mbSomething = aArgumentsMap.getUnpackedValueOrDefault("SomethingNamed", false); Change-Id: Ib1135078a99ca08f50bf51184f2ec7d13f5e6b4d Reviewed-on: https://gerrit.libreoffice.org/40201 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-07-17loplugin:constparams in comphelper,unoidlNoel Grandin
Change-Id: I411d431bd6620c594c5dafd42af6c2a8ac285f3f Reviewed-on: https://gerrit.libreoffice.org/40042 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-16comphelper: move base64 encode/decode helpers from saxAshod Nakashian
Change-Id: I02e33793736003f36976bc8b518c389a31082dbe Reviewed-on: https://gerrit.libreoffice.org/39991 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2017-07-13use more OUString::operator== in forms..salNoel Grandin
Change-Id: I70d7e50f8c1e019524ccad915f0cca912c5035dc Reviewed-on: https://gerrit.libreoffice.org/39899 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-11drop TPropertyValueEqualFunctorNoel Grandin
was only in two places, and did nothing to make the code simpler or easier to understand Change-Id: I8e91d7e00f14a0611bf563a855d616ad11da5342 Reviewed-on: https://gerrit.libreoffice.org/39813 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-10teach unnecessaryparen loplugin about identifiersNoel Grandin
Change-Id: I5710b51e53779c222cec0bf08cd34bda330fec4b Reviewed-on: https://gerrit.libreoffice.org/39737 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-10Remove useless method OCommonAccessibleText::getTextArnaud Versini
Change-Id: I4ee2df05ffceaea9d22ec7e2f78dc6e13061b5ef Reviewed-on: https://gerrit.libreoffice.org/39714 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-07comphelper : Simplify guards in OAccessibleContextHelper.Arnaud Versini
Change-Id: Iabc7293370c7a8b3fdccb00d6e1cdbfac4c46992 Reviewed-on: https://gerrit.libreoffice.org/39445 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-07C++11 remove std::binary_function bases from functorsJochen Nitschke
std::binary_function is deprecated since C++11 and removed in C++17 90% done with regexp magic. removed obsolete <functional> includes. The std::binary_function base class was used by deprecated std::bind2nd, this was solved in individual commits. The members first_argument_type and second_argument_type were used in chart2/source/controller/dialogs/DataBrowserModel.cxx: DataBrowserModel::implColumnLess and are inlined in this commit. Change-Id: I60ded60a8d4afd59e15ac15a58e18d2498c9be5a Reviewed-on: https://gerrit.libreoffice.org/39659 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-03C++11 remove std::unary_function bases from functorsJochen Nitschke
std::unary_function is deprecated since C++11 and removed in C++17 90% done with regexp magic. removed obsolete <functional> includes. The std::unary_function base class was used in 3 places: * chart2/source/tools/DataSeriesHelper.cxx: lcl_MatchesRole is used in a std::not1 function helper who uses the members return_type and argument_type. - replace deprecated std::not1 with a lambda * chart2/source/tools/ModifyListenerHelper.cxx: lcl_weakReferenceToSame used the argument_type member in the operator() parameter. - inline the parameter type. * xmloff/source/chart/SchXMLExport.cxx: lcl_SequenceToMapElement used result_type and argument_type in operator(). - inline the types Also fix compile error with gcc about finding std::for_each. Change-Id: I073673beb01410c3108e7d0346d9e7d6b9ad2e2f Reviewed-on: https://gerrit.libreoffice.org/39358 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-07-02loplugin:casttovoid: comphelperStephan Bergmann
Change-Id: I28752323d31320141a537c0e108c911cef09c10a
2017-06-23loplugin:unusedfields in accessibility..comphelperNoel Grandin
Change-Id: Ifb68d65fc3e48dd80e3ff2b7a4124468fdda1695 Reviewed-on: https://gerrit.libreoffice.org/39137 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>