summaryrefslogtreecommitdiff
path: root/extensions
AgeCommit message (Collapse)Author
2020-09-18Make sure --enable-online-update does not leave behind UpdateCheckThreadStephan Bergmann
...which is known to cause test processes to crash during exit. (Also see 5cd04405c6b2d1ee46294ce0696d89d2edc97d16 "Disable automatic onFirstVisibleTask UpdateCheck during CppunitTests", so this commit now covers tests like JunitTests and UITests that start a full soffice process.) The relevant code is already rather complex and incomprehensible; it handles the automatic update check triggered by the onFirstVisibleTask UpdateCheckJob, manually triggered update checks, and downloading of new versions. To avoid regressions in all those various scenarios, I tried to add very targeted code that should only wait for a still running UpdateCheckThread triggered by the automatic onFirstVisibleTask UpdateCheckJob---which is the scenario that caused issues during `make check`. (For a manually triggered update check or download it is probably both less likely that related threads would still run during exit, as the user would likely wait for a response before closing LibreOffice, and less severe if threads would still run during exit, as any resulting crashes would likely be "harmless" and might not even be noticed by the user.) However, I note that this targeted fix does increase the complexity and inscrutability of this code even further... The new code does not actually try to join the UpdateCheckJob---see UpdateCheckThread::join referencing <https://bz.apache.org/ooo/show_bug.cgi?id=73893> "webdav ucp does not implement XCommandProcessor::abort". Rather, it waits for UpdateCheckJob::run to finish (after unblocking at least any m_aCondition.wait calls). This, however, can take a while if the update check's HTTP request is in progress. To be able to use a std::condition_variable (with sane semantics compared to osl::ConditionVariable) in UpdateCheck::waitForUpdateCheckFinished, the corresponding UpdateCheck::m_aMutex had to be changed from a (recursive) osl::Mutex to a std::recursive_mutex one (sticking to a recursive one just to be on the safe side, whether or not the code actually makes use of that). Change-Id: I2726acd33b884b807d840cfee2786fcf45815ad7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103013 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-17fix LTO+mergedlibs on windowsNoel Grandin
Change-Id: I3d95d566db76e14532945b881b1847ea8c7e3153 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102946 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-09-16Turn OUStringLiteral into a consteval'ed, static-refcound rtl_uStringStephan Bergmann
...from which an OUString can cheaply be instantiated. This is the OUString equivalent of 4b9e440c51be3e40326bc90c33ae69885bfb51e4 "Turn OStringLiteral into a consteval'ed, static-refcound rtl_String". Most remarks about that commit apply here too (this commit is just substantially bigger and a bit more complicated because there were so much more uses of OUStringLiteral than of OStringLiteral): The one downside is that OUStringLiteral now needs to be a template abstracting over the string length. But any uses for which that is a problem (e.g., as the element type of a container that would no longer be homogeneous, or in the signature of a function that shall not be turned into a template for one reason or another) can be replaced with std::u16string_view, without loss of efficiency compared to the original OUStringLiteral, and without loss of expressivity. The new OUStringLiteral ctor code would probably not be very efficient if it were ever executed at runtime, but it is intended to be only executed at compile time. Where available, C++20 "consteval" is used to statically ensure that. The intended use of the new OUStringLiteral is in all cases where an object that shall itself not be an OUString (e.g., because it shall be a global static variable for which the OUString ctor/dtor would be detrimental at library load/unload) must be converted to an OUString instance in at least one place. Other string literal abstractions could use std::u16string_view (or just plain char16_t const[N]), but interestingly OUStringLiteral might be more efficient than constexpr std::u16string_view even for such cases, as it should not need any relocations at library load time. For now, no existing uses of OUStringLiteral have been changed to some other abstraction (unless technically necessary as discussed above), and no additional places that would benefit from OUStringLiteral have been changed to use it. Global constexpr OUStringLiteral variables defined in an included file would be somewhat suboptimal, as each translation unit that uses them would create its own, unshared instance. The envisioned solution is to turn them into static data members of some class (and there may be a loplugin coming to find and fix affected places). Another approach that has been taken here in a few cases where such variables were only used in one .cxx anyway is to move their definitions from the .hxx into that one .cxx (in turn causing some files to become empty and get removed completely)---which also silenced some GCC -Werror=unused-variable if a variable from a .hxx was not used in some .cxx including it. To keep individual commits reasonably manageable, some consumers of OUStringLiteral in rtl/ustrbuf.hxx and rtl/ustring.hxx are left in a somewhat odd state for now, where they don't take advantage of OUStringLiteral's equivalence to rtl_uString, but just keep extracting its contents and copy it elsewhere. In follow-up commits, those consumers should be changed appropriately, making them treat OUStringLiteral like an rtl_uString or dropping the OUStringLiteral overload in favor of an existing (and cheap to use now) OUString overload, etc. In a similar vein, comparison operators between OUString and std::u16string_view have been added to the existing plethora of comparison operator overloads. It would be nice to eventually consolidate them, esp. with the overloads taking OUStringLiteral and/or char16_t const[N] string literals, but that appears tricky to get right without introducing new ambiguities. Also, a handful of places across the code base use comparisons between OUString and OUStringNumber, which are now ambiguous (converting the OUStringNumber to either OUString or std::u16string_view). For simplicity, those few places have manually been fixed for now by adding explicit conversion to std::u16string_view. Also some compilerplugins code needed to be adapted, and some of the compilerplugins/test cases have become irrelevant (and have been removed), as the tested code would no longer compile in the first place. sal/qa/rtl/strings/test_oustring_concat.cxx documents a workaround for GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96878> "Failed class template argument deduction in unevaluated, parenthesized context". That place, as well as uses of OUStringLiteral in extensions/source/abpilot/fieldmappingimpl.cxx and i18npool/source/localedata/localedata.cxx, which have been replaced with OUString::Concat (and which is arguably a better choice, anyway), also caused failures with at least Clang 5.0.2 (but would not have caused failures with at least recent Clang 12 trunk, so appear to be bugs in Clang that have meanwhile been fixed). Change-Id: I34174462a28f2000cfeb2d219ffd533a767920b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102222 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-08Remove some unused const variablesStephan Bergmann
Change-Id: Ib27249e9d4c9c7669a2766ec501e02652199c670 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102202 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-07Make the OUString ctors taking raw sal_Unicode pointer/non-const array explicitStephan Bergmann
...and in turn add OUString::operator = and OUString::operator += overloads that take a std::u16string_view. Without making the ctors explicit, the operator overloads would have caused ambiguities when called with raw sal_Unicode pointers/non-const arrays, as those can convert to both OUString and to std::u16string_view. But the std::u16string_view operator overloads will generally be useful when changing OUStringLiteral similarly to 4b9e440c51be3e40326bc90c33ae69885bfb51e4 "Turn OStringLiteral into a consteval'ed, static-refcound rtl_String", at which point many existing uses of OUStringLiteral will be replaced with uses of std::u16string_view. Implementing this change turned up a need for an operator = overload for OUStringNumber, which has thus been added. No such need turned up for a corresponding operator += overload, but which can easily be added when the need arises. It also revealed that the operator == overloads between an OUString and a raw sal_Unicode pointer/non-const array were implemented rather inefficiently, creating a temporary OUString from the raw argument. Those have been improved. Preceding commits have already taken care of many dubious or simply unnecessary implicit uses of the now-explicit OUString ctors. This commit makes explicit the few remaining reasonable uses. (And in some cases needed to change variable initialization syntax from using parentheses to using curly braces, to avoid the most vexing parse issue. And needed to explicitly add OUString ctors from char16 const[2] string literal lvalues in a conditional expression in writerfilter/source/ooxml/OOXMLFastContextHandler.cxx that are only necessary because MSVC apparently still insists on doing array-to-pointer decay there.) All of this only affects LIBO_INTERNAL_ONLY. Change-Id: I7ce31162e9be1c3ff3c0bd184a34b535ec56be9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102098 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-04TabPage no longer needs to inherit from VclBuilderContainerCaolán McNamara
Change-Id: Iaab26ade1109daf732e58a2f3741cc43243e374c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102023 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-02use XTextComponent interface instead of bare vcl::EditCaolán McNamara
Change-Id: I35aa2b905b4e31930e8cdc91dc4ea6d37cdc9bfa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101879 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-01Fix typo in codeAndrea Gelmini
It passed "make check" on Linux Change-Id: I8be2457de5018e1e764e378e609c3a41c3cb9d11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101802 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-08-28bibliography copy and paste doesn't work from menusCaolán McNamara
when using native gtk menubar and menus because the focus isn't in the bibliography window at that stage. Just remember who had the focus when enabling/disabling the copy/paste entries. Change-Id: I52e907725691932bdc61e0774ef5d2a50f0eb8cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101555 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-28should check if edit is editable for allowing pasteCaolán McNamara
Change-Id: I70d490467f288043089aa5f8e6e79764be6e419a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101554 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-28Change OUStringLiteral from char[] to char16_t[]Stephan Bergmann
This is a prerequisite for making conversion from OUStringLiteral to OUString more efficient at least for C++20 (by replacing its internals with a constexpr- generated sal_uString-compatible layout with a SAL_STRING_STATIC_FLAG refCount, conditionally for C++20 for now). For a configure-wise bare-bones build on Linux, size reported by `du -bs instdir` grew by 118792 bytes from 1155636636 to 1155755428. In most places just a u"..." string literal prefix had to be added. In some places char const a[] = "..."; variables have been changed to char16_t, and a few places required even further changes to code (which prompted the addition of include/o3tl/string_view.hxx helper function o3tl::equalsIgnoreAsciiCase and the additional OUString::createFromAscii overload). For all uses of macros expanding to string literals, the relevant uses have been rewritten as u"" MACRO instead of changing the macro definitions. It should be possible to change at least some of those macro definitions (and drop the u"" from their call sites) in follow-up commits. Change-Id: Iec4ef1a057d412d22443312d40c6a8a290dc6144 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101483 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-27add a DisableCycleFocusOut flag for an all-welded hierarchyCaolán McNamara
so we can differentiate the case of embedded welded widgets co-sharing the tab-cycle sequence with vcl widgets vs the case its all welded widgets Change-Id: I5c57b4e98d2f5c543522a72e31d554a67c259307 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101485 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-24restore translatable="no"Caolán McNamara
Change-Id: I42b46c0cada25703e8e9600533a220252796457e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101289 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-24tdf#118148 Extended tips from HC2/shared/Olivier Hallot
These extended tips are extracted from <ahelp> in Help files Only for ui files, where dialogs/widget pair could be determined. Other forms of <ahelp hid=".."> such as .uno:.. and *HID* ... will be addressed elswhere. Change#1 Removed extended tips from GtkMenu of svx/.../acceptrejectchangesdialog.ui Change#2 Some empty ET's slipped in cui/macroselectdialog.ui Change-Id: Ic8dc62734143f621fcd3c4156fc004f585630277 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101186 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-14loplugin:simplifybool moreNoel Grandin
look for expressions like !(a && !b) which can be expanded out Change-Id: I72515a9638762b050f9a258c08da39ebfa2ef8e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100579 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-14tdf#135526 ranges overflowing to become negativeCaolán McNamara
the properties panel uses huge min/maxes which can overflow when the number of digits changes Change-Id: Idbb998a065ce8f2b918fceea2076b794cbde3368 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100731 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-13use OUStringLiteral in SfxItemPropertyMapEntryNoel Grandin
Change-Id: I4f05b6a35010e661ea77f3e4b83302d2ec74d227 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100405 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-13loplugin:stringstatic also look for local staticsNoel Grandin
Add some API to O*StringLiteral, to make it easier to use in some places that were using O*String Change-Id: I1fb93bd47ac2065c9220d509aad3f4320326d99e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100270 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-07Make use of std string_viewStephan Bergmann
Change-Id: Ic4b330b7d046ba77e51d32d156501a18e3782985 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100313 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-06result of MnemonicGenerator::CreateMnemonic was unusedCaolán McNamara
since... commit 93257759580e6df10cc9eddbf1800a17d61cfc48 Date: Tue Jul 30 15:38:52 2013 +0200 convert vcl/mnemonic.hxx from XubString to OUString Change-Id: I2df7a6b29aa30ad5ad936b524061aeaef837ca9d Change-Id: I82d7d4f038762592086f4a8bc38d12d18529ccc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100256 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-05Ensure cp target directory existsStephan Bergmann
<https://ci.libreoffice.org/job/gerrit_windows/71710/console> > cp: cannot create regular file 'C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/CustomTarget/extensions/source/activex/SOActionsApproval.cxx': No such file or directory [...] > make[1]: *** [C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/extensions/CustomTarget_so_activex_x64.mk:22: C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/CustomTarget/extensions/source/activex/SOActionsApproval.cxx] Error 1 makes it look like this has been missing all along? Change-Id: Ifa685808942f05c539950311a4d800be0894c8ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100122 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-08-04loplugin:elidestringvar (clang-cl)Stephan Bergmann
...plus ensuing loplugin:unnecessaryparen in vcl/source/treelist/transfer.cxx Change-Id: I1abf2e0c589c2c124399c1337f5dd703ee7d04a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100094 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-04Improved loplugin:staticanonymous -> redundantstatic redux, clang-clStephan Bergmann
Change-Id: Ie6dc22edbcfdf05ab8d7d668cb7cc33b5b747995 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100100 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-04loplugin:simplifybool (clang-cl)Stephan Bergmann
Change-Id: Ib53c1d0d11962067d3a18dab453a6530398bc5a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100093 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-07-30loplugin:unusedmethodsNoel Grandin
and tweak the plugin a little to speed it up Change-Id: Ia59456232602184c4f1b5d1d75ad94a9a2e2d0be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99799 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-27extensions/dbp: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: Ifc0cd058dd1ad0f2b66657a6a4287049ebcbebe5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99270 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-27extensions/WinUserInfo: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: I16e7da267af4d6e45522b502515cebe52352b2f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99460 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-25loplugin:constantparamNoel Grandin
Change-Id: Ic0079cf1d5d2463963b1be08a59cb93db6f12870 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99417 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-25loplugin:unusedmethodsNoel Grandin
Change-Id: I3a35c988b1c55b16958172ed5ef4e2d5cb410e55 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99413 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-23extensions/scanner: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: Ibf8247cb0321e6c1125a6ee49cdabdc8d4218b22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99325 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-23extensions/updateui: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: I3380e987be8bf24005676705e26f3135c83d2b2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99324 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-23extensions/updatefeed: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: I1e0303f3fa6295de1f1970bcf8da1edbabb330d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99323 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-23extensions/ldap: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: I159eb26fd69151065080d3f70a6fc9df0104068f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99273 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-22extensions/prop: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: I89d2c8d0b2bf960b3de1853c69fa64ff41b484ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99185 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-21Fix uses of char16_t*/wchar_t* stream insertersStephan Bergmann
...that are helpfully deleted in C++20, as now implemented at least by VS 2019 16.6.4 when using --with-latest-c++ Change-Id: Iaf80f793e73fc90768bb146c9cf3d300d6747c8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99170 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-07-16compact namespace: editeng-filterNoel Grandin
Change-Id: I240bff8de9489d3c0c9c9be6b31ce7e15661bff8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98922 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-16drop m_xFormatter during disposingCaolán McNamara
Change-Id: Iac3e04e9f3a0efa0a8bf241f7ea6bbc6703b862f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98899 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-16extensions/bib: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: I022d29f4c39f79ed8e0fafe0687e95088279e046 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98875 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-15replace TimeSpinButton with FormattedSpinButtonCaolán McNamara
with a TimeFormatter rather than have duplicate functionality Change-Id: I99f1f2aabee5f81485f97755ba3675870317cfb9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98791 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-14set max rangeCaolán McNamara
Change-Id: Idb44062f91f63a6936d532e59ce3e3347f43ebd0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98713 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
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-08loplugin:redundantstatic (extensions/updatecheck(config|job))Julien Nabet
Change-Id: Icf0769ab24c8a7c470b1fdf6363204d004c51fb6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98297 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-07-05adjust FormattedSpinButton to be driven by an EntryFormatterCaolán McNamara
so we can have the same backend driving the FormattedSpinButtons as a FormattedEntry Change-Id: I07a472315a04787eb5fcf992cde8f758af742156 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97860 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-03loplugin:redundantstatic (extensions/updatecheckui)Julien Nabet
Change-Id: I71144d4b61592cb1157057fe0cc6044d07957447 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97830 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-07-01Upcoming improved loplugin:staticanonymous -> redundantstatic: extensionsStephan Bergmann
Change-Id: Ifce7b61cc5bd0901c7ee43712dc236f5aec47edc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97560 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-24use more std::container::insert instead of std::copyNoel Grandin
which is both more compact code, and more efficient, since the insert method can do smarter resizing Change-Id: I17f226660f87cdf002edccc29b4af8fd59a25f91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96948 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-08loplugin:elidestringvar in extensionsJulien Nabet
Change-Id: Ica6d1a6480d122d508d1b87c2a6102f55363b995 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95790 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2020-06-08Use o3tl::safeCoInitializeEx/safeCoUninitializeReinit (extensions/updatecheck)Julien Nabet
Change-Id: I009664b9c8f1c302d5a90e7014f612dcd3602f63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95664 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-06-07New loplugin:elidestringvarStephan Bergmann
Quoting compilerplugins/clang/elidestringvar.cxx (and see there for a rationale): "Find cases where a variable of a string type (at least for now, only OUString) is initialized with a literal value (incl. as an empty string) and used only once." (This commit includes fixes that become necessary in code changed after the preceding "Upcoming loplugin:elidestringvar" commits.) As a follow-up TODO, uses of the explicit OUString( sal_Unicode value ) ctor where value is char or char16_t literal should be detected too, so that e.g. one_quote would have been treated like two_quote in 4b85108773f9851f358a4daa8869eeadc638d103 "Upcoming loplugin:elidestringvar: sc" > --- a/sc/source/core/tool/compiler.cxx > +++ b/sc/source/core/tool/compiler.cxx > @@ -1902,9 +1902,8 @@ void ScCompiler::CheckTabQuotes( OUString& rString, > if( bNeedsQuote ) > { > const OUString one_quote('\''); > - const OUString two_quote("''"); > // escape embedded quotes > - rString = rString.replaceAll( one_quote, two_quote ); > + rString = rString.replaceAll( one_quote, "''" ); > } > break; > } Change-Id: I7b74f1735a07540e3d789df1d14c84081c824b6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95696 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-05have just one way to set expander imageCaolán McNamara
Change-Id: Ic07709a864620c6146616c8e0a1417343c0937de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95590 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>