summaryrefslogtreecommitdiff
path: root/framework
AgeCommit message (Collapse)Author
2021-08-23loplugin:referencecasting look through more clang TypesNoel Grandin
Note that because of where the fix resides, loplugin:redundantcast also notices a few more things. Change-Id: I0b66047fadfff2c5ceafcbd3eab085de00d861a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120865 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-20New loplugin:unusedcapturedefaultStephan Bergmann
In sc/qa/unit/ucalc_formula.cxx, dropping the capture-default from the lExpectedinF lambda revealed that MSVC in C++17 mode (i.e., when building without --with-latest-c++) requires ROW_RANGE (a local const int variable from the enclosing TestFormula::testTdf97369) to be captured, even though all uses of that variable within the lambda body are constant expressions. That is still true at least for the latest Visual Studio 2019 version 16.11.1. (This is not an issue for the lExpectedinH and lExpectedinI lambdas a few lines further down, as they, in addition to using that ROW_RANGE, also use the local const double variables SHIFT1 and SHIFT2, whose uses are not constant expressions, so they are implicitly captured and loplugin:unusedcapturedefault does not suggest dropping those lambdas' capture-defaults in the first place.) Change-Id: Iee7efb485187cbe8eba6a2d470afca4993eb1816 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120693 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-18loplugin:passstuffbyrefNoel Grandin
Change-Id: I4f01eb3842ef198f02af274f54afb2760c820a4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120655 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-16Resolves: tdf#142980 Special-case the very first listener added during actionEike Rathke
Change-Id: I8bc3475581d9525db8e83bc1551326c474e752bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119275 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2021-08-16Drop tools::Rectangle::getX/getY, which are just duplicates of Left/TopMike Kaganski
The change allowed to simplify many places where previously this API was used, to avoid inefficient calculations (e.g., moving rectangle keeping its size, and then immediately changing the size). Change-Id: Ica2dc594d91cae83e2c2740c1f4fb23f44998916 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120461 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-15Fix typosAndrea Gelmini
Change-Id: I3b75c0b8500bebe3025e038dba02a0d6f444bce6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120181 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-08-13rtl::Static -> thread-safe static localNoel Grandin
Change-Id: If5b7181fb1bb3f3f21ec3742680e5a3e12b21b73 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120431 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-12tdf#88205: Adapt uses of css::uno::Sequence to use initialize_list ctorZeynep Yavuz
Change-Id: I3c01bb8abeee949bcd1aae861aeb1b1ac516ec58 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120299 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-08-08create comphelper:OMultiTypeInterfaceContainerHelperVar2 and use itNoel Grandin
based on OInterfaceContainerHelper2 which is considerably faster than the original OInterfaceContainerHelper Change-Id: Ia8cdbc5ef877a7af3d9193e1bb2faf1595c15470 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120165 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-07create comphelper::OMultiTypeInterfaceContainerHelper2 and use itNoel Grandin
based on OInterfaceContainerHelper2 which is considerably faster than the original OInterfaceContainerHelper Change-Id: I9c8b6d0e5382018824bf7188a26343703abf2d51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120161 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-07no need to use UNO_QUERY hereNoel Grandin
Change-Id: I1bfe8238d7c08f27d2b21f9fe79712aba045c812 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120152 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-05drop unneeded forward declareCaolán McNamara
Change-Id: I858d4a43690bd37385eb6f48945c05dd9c2a6182 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120031 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-05Pass context and resource string down to boost::locale separatelyNoel Grandin
because this is often on a hot path, and we can avoid the splitting and joining of strings like this. Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-03Consolidate on C++17 std::scoped_lock instead of std::lock_guardNoel Grandin
as in commit 9376f65a26240441bf9dd6ae1f69886dc9fa60fa Change-Id: I3ad9afd4d113582a214a4a4bc7eea55e38cd6ff9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119927 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-02convert #defines to OUStringLiteralNoel Grandin
mostly by doing $ git grep -l '#define.*\"' -- *.cxx | xargs perl -pi -e 's/^#define\s+(\w+)\s+(\".*\")/constexpr OUStringLiteral \1 = u\2;/g' Change-Id: I63a4b050f220f0a61749892cd47fb91813f7d088 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119844 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-30osl::Mutex->std::mutex in DispatchHelperNoel Grandin
Change-Id: I6443f604f7f5cacc4b3d67bb6dab07706c82a9a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119700 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-27use officecfg for SvtHistoryOptionsNoel Grandin
Change-Id: I5cfd3a51bc4026ccb66ee23eb6f49a5dff5fe042 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119525 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-26simplify SvtDynamicMenuOptionsNoel Grandin
Change-Id: I8892b8a51fcecd84ea1fedcd71b6d1a2febabee1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119484 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-26use officecfg for menu optionsNoel Grandin
Change-Id: I94c9cf310ed6975f158548913439445faf6d178f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119483 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-23use officecfg to retrieve DisableUICustomizationNoel Grandin
Change-Id: I87b3019c8e10eb2453746340beea4c4623dc65e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119400 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-22osl::Mutex->std::mutex in StatusIndicatorFactoryNoel Grandin
Change-Id: I23c6765e5932288ce439273c600bdbf5017266ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119377 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-20framework: fix multiple-free in VclToolBarManager::Destroy()Michael Stahl
Multiple ImplToolItem with mnId 1000 are inserted in the same ToolBox and the problem is that only the first one gets its mpUserData set, because setting and getting that is based on the assumption that mnId is unique per container. So in Destroy() for every item with mnId 1000 the same AddonsParams object is deleted. The problem is that in ToolBarManager::FillToolbar() the local nItemId is copied, so its value never changes when iterating the loop because only its copy is incremented. (regression from ac1aefd5174258d9bcb41465ce566ed1a0819f3d) Change-Id: Ica47051f9447c2b9d1981f8373d754874f0f31b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119228 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-07-19merge ModuleImageManager into ImageManagerNoel Grandin
they share an underlying impl, so no need to have separate classes Change-Id: I1093f72265f67c7ccf3c2a064c86441d792512d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119156 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-15lok: include the label of the status indicatorHenry Castro
Change-Id: Ib2714e3d2b6add54ffba753d3519aeba7a3f1959 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118658 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2021-07-13framework, sfx2: catch more exceptions when the object is already disposedMiklos Vajna
This can happen when an out of process Java object is registered as a callback, then that Java process exits without notifying us. Handle this failure by just ignoring that object, so we don't crash on soffice process shutdown. Change-Id: I5d61e76494c62148ef0c3db24789a5ea6e5843eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118823 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-08make SetParentToDefaultWindow available from vcl onlyCaolán McNamara
rechecked tdf#119390. If I tear off the color popdown in writer, click in the combobox and shift-tab to put focus in the button (where focus is more visible) and close the torn off window then focus continues to return to the main document as wanted. Change-Id: I1e909cdf31e9a1309475d933d0ede289a84884b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118645 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-08SolarMutexGuard::clear called twice where the 2nd call site should undo the 1stCaolán McNamara
since commit 94f8a0e60b7bc5c1176eafe9a36c3f3466bd1408 Date: Thu Mar 20 09:08:10 2014 +0100 Use SolarMutexGuard directly Change-Id: I4b245dd68bf032a1d74fb16b910dc952fd761781 seen with compiler warning of: In member function ‘sal_uInt32 comphelper::SolarMutex::release(bool)’, inlined from ‘void osl::ClearableGuard<T>::clear() [with T = comphelper::SolarMutex]’ at include/osl/mutex.hxx:194:28, inlined from ‘void framework::ImageManagerImpl::reload()’ at framework/source/uiconfiguration/imagemanagerimpl.cxx:1071:25: include/comphelper/solarmutex.hxx:91:22: error: ‘this’ pointer is null [-Werror=nonnull] Change-Id: Ibd074794e4556a6ff34b0dc94099e81e1ae3b349 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118634 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-07tdf#132740 improve TagWindowAsModifiedNoel Grandin
makes a small difference (*) Use strong ref instead of weak ref, because weak ref is expensive to access (*) to make that work, fix dispose() (*) cache the vcl::Window to avoid expensive VCLUnoHelper::GetWindow Change-Id: Ida7a060d729633a0feb326697509d90052bca1f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118533 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-30sfx2: try to fix lifecycle of SfxOfficeDispatchMichael Stahl
This can be created either from the global SfxApplication, or from a SfxViewFrame. Particularly in the latter case, the SfxDispatcher and SfxBindings members are owned by SfxViewFrame, so in case that is destroyed, the SfxOfficeDispatch must clear its pointers. It looks like the member pointers are checked before access already everywhere, so just listen at the SfxViewFrame. Change-Id: If08825734e94dd54e32cb77546684fd583c336ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118162 Tested-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-06-28loplugin:indentation improve checks for brace alignmentNoel Grandin
Change-Id: I333100fda7e181f68f36b03279b3fbb8cb768310 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117615 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-26loplugin:finalclasses in frameworkNoel Grandin
Change-Id: I64e7b65337d283567bb6030a626303de477346cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117891 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-25tdf#143047: When no properties for command, use those from item containerMike Kaganski
This allows to use the "Label" property defined by user for macro items, that indeed have no built-in command properties. Thus the resulting tooltip will be a concatenation of the label and mnemonic instead of only mnemonic as happened before. Change-Id: I79d933fecd09ca7d64b7a3e7db0ef194e42c1c55 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117787 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-18hold SvtSysLocale for lifetime of returned GetUILanguageTag referenceCaolán McNamara
Change-Id: I36b01e6b4827aceca95502386ab1abc4cf0baaea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117449 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-06-17use string_view in the Translate APINoel Grandin
Change-Id: I0bb0ea9d39ed623928060ffd3f2e2bc36ba33209 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117272 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-15remove some unnecessary LanguageType copiesNoel Grandin
Change-Id: Iec4374627c931ccecf05a712682ed18ef90bf359 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117208 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-15vcl: outdevmap.hxx -> rendercontext/ImplMapRes.hxxChris Sherlock
Change-Id: I96e191999e43e1a4203d548eeacd386ed883cd8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115368 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-06-10loplugin:unnecessaryreturn AddonsOptions_ImplNoel Grandin
Change-Id: Ic2adf9467af7118e8efbbae2132912f3cc3d6943 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116988 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-09dtd files are not xml files and shouldn't have xml headersCaolán McNamara
so rpminspect is correct in complaining that they are not valid xml on inspecting files claiming to be xml Change-Id: I70379989326c2ea63e6a54b3658ebea4684fa5df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116887 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-06-08Resolves tdf#131817 - Option to globally switch toolbar locking on/offHeiko Tietze
Reverts 6993d5d0f1079fe720a7da004b70b57361c99fc6 and sets Locked in GlobalSettings to true New UNO command ToolbarLock to toggle the state added to the toolbars menu Change-Id: I246280b2b7930f2bf686e6fc26383da4799b5028 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115797 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2021-06-01fix leak in CppunitTest_framework_servicesNoel Grandin
Change-Id: I522e3e9b57668d7a8d1df10f4520045a3a3553dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116524 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-31no need to allocate these separatelyNoel Grandin
Change-Id: I9464fbcc1af966755cc4eb8fe0beead4638848ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116479 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-17split OutputDevice from WindowNoel Grandin
as part of a longer-term goal of doing our widget rendering only inside a top-level render- context. I moved all of the OutputDevice-related code that existed in vcl::Window into a new subclass of OutputDevice called WindowOutputDevice. Notes for further work (*) not sure why we are getting an 1x1 surface in SvpSalGraphics::releaseCairoContext, but to fix it I clamp the size there (*) might have to dump VCLXDevice, and move it's code down into VCLXWindow and VCLXVirtualDevice (*) can we remove use of VCLXDevice in other places, in favour of just talking to the VCL code? Change-Id: I105946377f5322677d6f7d0c1c23847178a720b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113204 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-05loplugin:constmethodNoel Grandin
Change-Id: I7913fd8144d521b8293ac43036d0fad82e457cd1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115145 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-02throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewriteStephan Bergmann
Change-Id: I076f16d0536b534abf0ced4d76051eadb4c0e033 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114949 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-04-30tdf#79049 speed up OOXML workbook loadNoel Grandin
we spend a lot of time in ScAttrArray::GetLastVisibleAttr which appears to be very expensive for this worksheet. This is re-computed every time we enter SfxBaseModel::getArgs Reduce the recomputation by introducing a new method which only retrieves specific SfxBaseModel arguments. This takes the load time from 5m9 to 1m9 for me. Change-Id: I605fae0faa94760c7d6993877c9559ea5dc813cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114905 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-29loplugin:stringadd simplify some *StringBuffer operationsNoel Grandin
pulled from a larger patch which I created with a more permissive variant of this plugin Change-Id: I7abf1f3f09e84703b6e0e52fe9587dff691b2187 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114875 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-28framework: allow loading a component on the main thread, using XDesktopMiklos Vajna
This is similar to commit 2dc3a6c273cb82506842864481d78df7294debbf (framework: allow loading a component on the main thread, 2018-12-19), but that focused on the special case when loading happens via XFrame. The more frequently used XDesktop way now supports the same flag, allowing correctly loading "real" OLE objects on Windows. Change-Id: I059ea143c91894508d8264084094eefc2bff24e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114805 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-04-28use string_view in INetURLObject::encodeNoel Grandin
Change-Id: Ib686c6872388b02c8939d3b65f6bd25cda348bc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114754 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-27loplugin:stringadd convert chained append to +Noel Grandin
which can use the more efficient *StringConcat Also fix a crash in stringview plugin which started happening while I working on this. Change-Id: I91a5b9b7707d1594d27d80b73930f5afac8ae608 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114568 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-27tdf#141164: Add an expert config for WebDAV redirection detectionMike Kaganski
Since commit 20b1e6440aacab043753e93be4499e939a80b05b, we detect redirected WebDAV paths, and substitute them with original WebDAV URLs to allow retrieving additional information like lock owner. The new officecfg::Office::Common::Load::DetectWebDAVRedirection allows to disable the detection, and opt to older way of use of Windows Redirector, taking advantage of its cookie handling until we implement own proper cookie handling. Change-Id: I1510a016f40dbe81dcba9aa4fd50eda73a6d9f22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114686 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>