summaryrefslogtreecommitdiff
path: root/comphelper
AgeCommit message (Collapse)AuthorFilesLines
2020-03-24Catch deployment exception; extmgr is not functionalThorsten Behrens1-2/+6
Change-Id: I2d26c40d9b1663d206dfd826014aaf9ba5219c88
2019-12-02Initial hacky startup optimisationThorsten Behrens1-1/+1
Change-Id: I299b8028ce3bac429250d2df4d68c854404bde4b
2019-08-15warn on load when a document binds an event to a macroCaolán McNamara1-0/+14
a) treat shared/Scripts equivalently to document scripts This doesn't automatically warn/block running those scripts when used in a freshly loaded document on its own however because DocumentMacroMode::checkMacrosOnLoading will see at... if ( m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() ) that the document contains no macros and flip the allow macros flag to true so that potentially new uses of macros added by the user during the edit are allowed to run b) so, add an additional flag to indicate existence of use of macros in a document c) for odf import, set it when a script:event-listener tag is encountered d) for html import when registerScriptEvents or SwFormatINetFormat::SetMacroTable is called e) for doc import when Read_F_Macro or StoreMacroCmds is called as well for good measure f) for xls import when registerScriptEvent or ScMacroInfo::SetMacro is called g) for oox import when VbaProject::attachMacros is called Change-Id: Ic1203d8ec7dfc217aa217135033ae9db2888e19b Reviewed-on: https://gerrit.libreoffice.org/77386 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-08-07tdf#126663 speed up styles displayNoel Grandin1-5/+11
reduce temporary OUString creation in a hotspot, reduces the time for me from 9s to 1s Change-Id: I0d5c479f124361661d55e78b802c04a06a3fefae Reviewed-on: https://gerrit.libreoffice.org/77098 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 66661417ff019831cbe7e647be2df1a4328ec2e6) Reviewed-on: https://gerrit.libreoffice.org/77134
2019-05-22New loplugin:dataStephan Bergmann2-4/+4
...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-05-14Resolves: tdf#120423 dispatch against the correct FrameCaolán McNamara1-11/+17
Change-Id: I5ea2e5d7b79efbd2b14d0b528e5a5c3e44e643bc Reviewed-on: https://gerrit.libreoffice.org/72284 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-13tdf#107592 Impress PPS save to ODP slowNoel Grandin1-0/+11
Takes the time from 20s to 5s on my PC. Change-Id: Iea7a94ee9fbe068b69a770fd9201e73646be59b9 Reviewed-on: https://gerrit.libreoffice.org/72140 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-13fix wrong SET/QUERY flags passed to uno::ReferenceNoel Grandin2-2/+2
By creating deleted methods for the wrong calls. Avoids the compiler needing to construct a temporary Change-Id: I3b8c648d6bb22d22827bf74f21ea5a2a17fc0f6a Reviewed-on: https://gerrit.libreoffice.org/72103 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-12regenerate PCH headersLuboš Luňák1-5/+5
Change-Id: I4894023e42cbfa32916ee3ddfb2cfb5426cfc69f Reviewed-on: https://gerrit.libreoffice.org/72195 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-10an uno -> a unoCaolán McNamara3-5/+5
Change-Id: I538db88f8477dd2d2ad25c372928fec6c11d979d Reviewed-on: https://gerrit.libreoffice.org/72105 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-09tdf#124400 a11y: add accessible IDSamuel Thibault1-0/+6
Such ID is not meant to be presented to the user, but to be an ID which is stable over application development. Typically, this is the gtkbuilder ID. Such an ID can then be used to identify a given well-known accessible object independently from the current locale, user-visible labelling, or dialog structure. This can then be used for tailored screen reading (e.g. automatically announcing the content of a well-known object), or for automatic regression testing (to check the behavior of well-known objects). Uniqueness within the window is thus desirable when returning a non-empty string. This adds XAccessibleXContext2 to augment XAccessibleXContext with getAccessibleId(). The VCL implementation just takes Window::get_id(), i.e. the gtkbuilder id, which is enough for most use cases for now. atk_object_wrapper_new then passes it to atk_object_set_accessible_id() for AT-SPI technologies to pick it up. Change-Id: Iea0ad08d036e539dbcfec1a9be026c8da8d17357 Reviewed-on: https://gerrit.libreoffice.org/71743 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2019-05-09regenerate PCH headers for the 4 new levelsLuboš Luňák3-47/+84
Plus some build fixes triggered by this. Change-Id: I59b21def706598ceffd45ae5b1f0262ec9c1ad50 Reviewed-on: https://gerrit.libreoffice.org/71581 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-04-30implement std::hash for css::uno::Reference and rtl::ReferenceNoel Grandin1-6/+1
The declaration in BarChart.cxx is particularly suspicious, because it was using a < for the KeyEqual template parameter. Been there since: commit b2c3233e5f267b5d244d722a94424a3b224b3314 Date: Thu Dec 21 20:08:33 2017 +0900 chart2: suspend/resume setting rects dirty for 3D shapes comphelper::OInterfaceCompare is no longer necessary Change-Id: I8278c4a3d9113a18570ca237cd05d553ec8f3975 Reviewed-on: https://gerrit.libreoffice.org/71537 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-29optimise comphelper::AttributeList a littleNoel Grandin1-65/+5
Change-Id: I48cb0a1b5dfcf6471c1cdf9d79445281f9f33020 Reviewed-on: https://gerrit.libreoffice.org/71463 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-26Don't use std::function in scope guard for performance reasonsMike Kaganski2-59/+0
Change-Id: I1d2f0307c0bf9ff5abde74d3326899a1aaa69c40 Reviewed-on: https://gerrit.libreoffice.org/71346 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-04-26Fix a copypaste error in commentMike Kaganski1-1/+1
Change-Id: Ic5272fe2e7226c5d6ccbb42c0b22635c2360200c Reviewed-on: https://gerrit.libreoffice.org/71394 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-04-26Add a unit test for comphelper's guardsMike Kaganski2-0/+58
Change-Id: Ia9a9c5694d3982a87b720071b74220d572ef1a78 Reviewed-on: https://gerrit.libreoffice.org/71355 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-04-26SolarMutex::m_nThreadId is read without SolarMutex::m_aMutex lockedStephan Bergmann1-2/+2
...so better make it std::atomic<> (and it also can be private). And in SolarMutex::doRelease, make sure that m_nCount is only read with m_aMutex locked. Change-Id: Iee0c1465e60e07ccd8955010a3dbc15a99dbe807 Reviewed-on: https://gerrit.libreoffice.org/71260 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-04-26tdf#43157 Clean up OSL_VERIFY (replace with SAL_WARN)Jens Carl3-6/+111
Replace OSL_VERIFY with SAL_WARN_IF and add some unit tests to ensure the replacements don't some side effects. Change-Id: I96eb00e2856e767e83596a21d30ae12a0efddf6d Reviewed-on: https://gerrit.libreoffice.org/71252 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-04-21Fix typoAndrea Gelmini1-1/+1
Change-Id: Ib5868b98bb4729e8cedb7194549ce4fd1dcd09fe Reviewed-on: https://gerrit.libreoffice.org/71030 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-04-19tdf#42949 Fix IWYU warnings in comphelperGabor Kelemen53-128/+119
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Also re-evaluate some blacklisted headers and recheck include/comphelper/ Change-Id: Ib7eea5951e849c07cea2e2782be4e8945f71ad96 Reviewed-on: https://gerrit.libreoffice.org/70899 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-04-18Fix typoAndrea Gelmini1-2/+2
Change-Id: Ia778edadc6ca4cf56868e250f0c29efeeef3ca9f Reviewed-on: https://gerrit.libreoffice.org/70909 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-04-18Fix typoAndrea Gelmini1-1/+1
Change-Id: I4166a7aa9067907e563a98d76bd7f21c63370ce4 Reviewed-on: https://gerrit.libreoffice.org/70910 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-04-17Split localProcessFactory function into class with setter and getterStephan Bergmann1-13/+25
...which avoids a false positive from an upcoming loplugin that finds suspicious uses of variables during their own initialization (as happened with xReturn in getProcessServiceFactory). Change-Id: I40e90e2e74cde84a3425b014d87584f4a56c0e22 Reviewed-on: https://gerrit.libreoffice.org/70877 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-04-12loplugin:sequentialassign in comphelper..cuiNoel Grandin1-2/+1
Change-Id: I1a08f3684b785e31535adcfb4220ded267a77c3b Reviewed-on: https://gerrit.libreoffice.org/70643 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-11don't kill threads after 3 minutes while debuggingLuboš Luňák1-2/+53
It makes sense to kill threads after 3 minutes in dbgutils mode for unittests, but this also meant that e.g. threaded Calc calculations in a gdb session or when ran in Valgrind sometimes asserted halfway through the calculation. Change-Id: I4fdd82549909feda9d4461b64eba0fcdca8be9be Reviewed-on: https://gerrit.libreoffice.org/70422 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-04-08tdf#117066 Saving ODT document with ~1500 bookmarks is slow, part 1Noel Grandin1-44/+47
Individually, these don't make much difference, but they add up to a halving the time to save on my machine. EmbeddedObjectContainer shows a lot of work in HasEmbeddedObject and GetEmbeddedObjectName, so add a reverse map there. Change-Id: Ib758668dbb045e6ceb2611bd86aa2af4fbfb9917 Reviewed-on: https://gerrit.libreoffice.org/70309 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-08Use osl_atomic_increment/osl_atomic_decrement to change m_refCountMike Kaganski2-9/+9
Change-Id: Ia24441d3671102fdeeb797547396c25ee2a6ffd3 Reviewed-on: https://gerrit.libreoffice.org/70382 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-04-07Don't use resettable/clearable guard where plain guard is enoughMike Kaganski5-59/+58
Also use scope where possible. This allows to limit guard scope at language level; visualises the scope clearly; and helps avoiding errors like fixed in commit 61e4437c857854b331fa01da6f39b2b3b58a800b. Change-Id: Ifeca96e2df8e8a0897770d9546b2536806275f41 Reviewed-on: https://gerrit.libreoffice.org/70376 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-04-04Drop UNICODE/_UNICODE definesMike Kaganski1-4/+0
The code is using expicit (mostly W) Windows API, and is independent from the macro. Removing it here allows to catch places where some UNICODE-dependent macro is used unintentionally. Change-Id: I5dff40aecfc3c3dc7fc4cf7271a995a675943a45 Reviewed-on: https://gerrit.libreoffice.org/70237 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-04-03Fix typosJens Carl1-1/+1
Change indefinite article "an" to "a" before the word unique and some variants. Change-Id: Ia14a6f3b9ec6b257ad8bed3b089faa9b6f07d44f Reviewed-on: https://gerrit.libreoffice.org/70174 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-03-31tdf#120703 PVS: remove redundant static castsMike Kaganski1-4/+1
V572 It is odd that the object which was created using 'new' operator is immediately cast to another type. Change-Id: I54976062dc3f62eaaa79f89eff54454f0b24ac2c Reviewed-on: https://gerrit.libreoffice.org/69989 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-03-27Remove unused using declarations in directories [a-d]*Gabor Kelemen7-12/+0
Found with: run-clang-tidy-7 -checks=-*,misc-unused-using-decls Change-Id: I50f6dfa881ac4e752668e762ade0943aaf28ab96 Reviewed-on: https://gerrit.libreoffice.org/69601 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-21Increase the life-cycle of threads in thread-pool...Dennis Francis1-6/+10
to ScDocument lifetime if possible. This helps to avoid lots of thread setup-cost while doing recalcs especially if there are many formula-groups in the document and most of them are fairly light-weight. Change-Id: Idd57e1ebd0d4e492f99e31237d4a55ec9c95a121 Reviewed-on: https://gerrit.libreoffice.org/69473 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2019-03-17tdf#120703 PVS: remove redundant static castsMike Kaganski1-1/+1
V572 It is odd that the object which was created using 'new' operator is immediately cast to another type. Change-Id: I6d1523e71b3e06be1cf41abaabb44e49fe11cd8e Reviewed-on: https://gerrit.libreoffice.org/69369 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-03-12Simplify containers iterations in chart2, cli_ure, comphelper, configmgrArkadiy Illarionov9-176/+109
Use range-based loop or replace with STL functions Change-Id: I7c229faa96e08b76cb4f182a1bd77c15bac4ba76 Reviewed-on: https://gerrit.libreoffice.org/69010 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-12Write HiDPI consistently without a hyphenTor Lillqvist1-1/+1
Hopefully makes it easier to find locations in the code related to HiDPI issues. Change-Id: I2b4e5ff6d66c0ca5792250c3fd0d42eeb59eb3ef
2019-03-05Simplify Sequence constructionStephan Bergmann1-5/+1
Change-Id: I96100bcca965943aa59a4da4e578a0792303d2bb Reviewed-on: https://gerrit.libreoffice.org/68707 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-04simplify UNO getTypes methodsNoel Grandin3-23/+13
Change-Id: Ia8b07edec54527fb4904536fabb03a18e8452550 Reviewed-on: https://gerrit.libreoffice.org/68659 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-25loplugin:unusedfields in variousNoel Grandin1-10/+0
Change-Id: I31d0e6c3559af2e322fb474b97f3bbf4d5064831 Reviewed-on: https://gerrit.libreoffice.org/68280 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-19pretty up logging of exceptionsNoel Grandin1-1/+1
Add exceptionToString() and getCaughtExceptionAsString() methods in tools. Use the new methods in DbgUnhandledException() Add special-case case code for most of the exceptions that contain extra fields, so all of the relevant data ends up in the log Change-Id: I376f6549b4d7bd480202f8bff17a454657c75ece Reviewed-on: https://gerrit.libreoffice.org/67857 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-18fix comparison of std::lower_bound resultNoel Grandin1-1/+1
turns out using a compare operator that takes something other than the element type as a parameter is really hard to get right. The changes in: basic/source/classes/propacc.cxx comphelper/source/property/propagg.cxx vcl/source/font/font.cxx are a regression from commit 35e80e9726b5fee6a00caa58349a4b5d924dad7c Date: Fri Oct 19 16:01:19 2018 +0200 when calling std::lower_bound The change in toolkit/source/awt/vclxtoolkit.cxx is a regression from commit 76dd28afc9c0eb632a5dd20eb51704ee0bbc4b58 Date: Tue Oct 9 16:27:11 2018 +0200 loplugin:staticvar in various Change-Id: Icf6db22e1fc091517a53dd3624913c8c2071c106 Reviewed-on: https://gerrit.libreoffice.org/67954 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-12Fix typoAndrea Gelmini1-1/+1
Change-Id: I7532eeb8845180e2fdf3031e3713480a9fdc1269 Reviewed-on: https://gerrit.libreoffice.org/67709 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-02-10Fix typoAndrea Gelmini1-1/+1
Change-Id: Ibaf2bf3fe9bf45fbfc864399222e08761407564a Reviewed-on: https://gerrit.libreoffice.org/67598 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-02-08loplugin:indentation in codemaker..comphelperNoel Grandin7-44/+47
Change-Id: I8dee6245cfa1f7998591b31a3752bbbae13f499d Reviewed-on: https://gerrit.libreoffice.org/67527 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-23rhbz#1667364 Open doc as R/O for which open(...,O_RDWR) returns EOPNOTSUPPStephan Bergmann1-0/+4
Map that EOPNOTSUPP to osl_File_E_NOSYS (and intercept it in StillReadWriteInteraction, as used by MediaDescriptor::impl_openStreamWithURL in unotools/source/misc/mediadescriptor.cxx, which will retry opening it read-only then), instead of to osl_File_E_invalidError (which lead to the "General input/output error" box). Instead of "silently" opening the doc as read-only, this still pops up a box claiming that the doc is locked by somebody else, asking whether to open it read-only or to open a copy. That's probably because of the rDescriptor.erase( utl::MediaDescriptor::PROP_READONLY() ); in TypeDetection::impl_openStream (filter/source/config/cache/typedetection.cxx) where the comment already hints at the confusion among the different read-only and locking concepts. Changing that looks like it would easily cause regressions, so is left for a follow-up commit. (And ultimately LO wouldn't need to treat the doc as read-only at all; it would just need to not attempt to open it O_RDWR upfront, and save it via copy+rename, like other apps appear to commonly do.) Change-Id: I56e18f1864084ba222acaf0e38a604082edaf4c6 Reviewed-on: https://gerrit.libreoffice.org/66805 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-11Replace OUStringBuffer::appendCopy with append(std::u16string_view)Stephan Bergmann1-1/+2
...which is more general Change-Id: I94f28f8eda887120cf5f143b4549e0339b60e6a7 Reviewed-on: https://gerrit.libreoffice.org/66155 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-22use boost::optional for OUStringNoel Grandin2-21/+19
instead of storing on heap Change-Id: I4ca2bb58ec4f71b161c9e6081f5e456de54d8153 Reviewed-on: https://gerrit.libreoffice.org/65537 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-05loplugin:unnecessaryparen include more assignmentsNoel Grandin1-2/+2
Change-Id: I9fb8366634b31230b732dd38a98f800075529714 Reviewed-on: https://gerrit.libreoffice.org/64510 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-26remove unused enum value ConvertDataFormat::PDFNoel Grandin1-2/+0
Change-Id: I61023dc049b914fee1d5d8918b99972d34a82b4a Reviewed-on: https://gerrit.libreoffice.org/64042 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>