summaryrefslogtreecommitdiff
path: root/comphelper
AgeCommit message (Collapse)Author
2019-04-08tdf#117066 Saving ODT document with ~1500 bookmarks is slow, part 1Noel Grandin
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 Kaganski
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 Kaganski
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 Kaganski
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 Carl
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 Kaganski
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 Kelemen
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 Francis
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 Kaganski
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 Illarionov
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 Lillqvist
Hopefully makes it easier to find locations in the code related to HiDPI issues. Change-Id: I2b4e5ff6d66c0ca5792250c3fd0d42eeb59eb3ef
2019-03-05Simplify Sequence constructionStephan Bergmann
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 Grandin
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 Grandin
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 Grandin
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 Grandin
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 Gelmini
Change-Id: I7532eeb8845180e2fdf3031e3713480a9fdc1269 Reviewed-on: https://gerrit.libreoffice.org/67709 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-02-10Fix typoAndrea Gelmini
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 Grandin
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 Bergmann
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 Bergmann
...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 Grandin
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 Grandin
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 Grandin
Change-Id: I61023dc049b914fee1d5d8918b99972d34a82b4a Reviewed-on: https://gerrit.libreoffice.org/64042 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-23Use the correct DPI scaling factor in LibreOfficeKit for iOS, tooTor Lillqvist
Fixes the rendering of spreadsheets in the iOS app. (The cell area was rendered at half the scale of the row and column headers.) Actual code change only in desktop/source/lib/init.cxx, but update related comments elsewhere to mention CoreGraphics, too, and not just cairo. Change-Id: Ife99c6a2d58e592cfea3b4ed1ab09c19fba77e72
2018-11-21loplugin:redundantfcast improvementsNoel Grandin
check for calls to constructors, and extend the list of types we check for unnecessary temporary creation Change-Id: Ia2c1f202b41ed6866779fff5343c821128033eec Reviewed-on: https://gerrit.libreoffice.org/63472 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-21improve function-local statics in basic..cuiNoel Grandin
Change-Id: If737e8478f6f1c8fffb060ce132d80e0f07ef8ee Reviewed-on: https://gerrit.libreoffice.org/63701 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-21tdf#42949 Fix IWYU warnings in include/vcl/[B-E]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Iabe571aa8f00492902c499094bea8365a3e17fca Reviewed-on: https://gerrit.libreoffice.org/63623 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-11-19tdf#42949 Fix IWYU warnings in include/vcl/[ab]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: If18c80fc64e55d797953e24e40e5d5e62bd9c625 Reviewed-on: https://gerrit.libreoffice.org/63453 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-11-12Add a SAL_INFO() when changing the global "lok" language tagTor Lillqvist
Change-Id: I229bb2cce38c3f67724802e31edff73e313b7457
2018-11-12tdf#118581 Correctly display issuer name in signature lineSamuel Mehrbrodt
Move the xmlsec helper methods to comphelper so that we can use them in cui Change-Id: If9b10cfff5f5abd6b16e48f043af7959edbb1142 Reviewed-on: https://gerrit.libreoffice.org/63198 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-11-09Fix many Java subsequentcheck test by using JUHJan-Marek Glogowski
Splits gb_JunitTest_set_unoapi_test_class_and_jars into two separate defines as: - gb_JunitTest_use_unoapi_jars - gb_JunitTest_use_unoapi_test_class Then replaces many of the gb_JunitTest_use_jars lists with the new gb_JunitTest_use_unoapi_jars to fix the JUH dependencies. This probably adds some unneeded JUH dependencies to some Java tests, but that shouldn't be a problem. Change-Id: I0c4fce6b50f7c6eb8d62bfb2c50f056b97584794 Reviewed-on: https://gerrit.libreoffice.org/63119 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-11-08sc lok: Implement hi-dpi and zoom for spreadsheets.Jan Holesovsky
A bit different approach than trying to paint different zoom levels at the samet time, because it is terribly hard to achieve with Calc - things misalign, because Calc tries to fit the lines into the pixels etc. Instead, always paint the spreadsheet at 100%, but use cairo to scale the actual painting. Change-Id: I228a9dd41bf29862bdd188825d12e61e1c86cccc Reviewed-on: https://gerrit.libreoffice.org/63031 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2018-11-08coverity#1441101: Use std::atomic instead of volatileStephan Bergmann
ee9ccdf6ecd944c2f448a30d10700754d1f0cfa2 "reduce cost of ProfileZone when it is not active" had changed g_bRecording from a bool guarded by g_aMutex to a volatile bool. But having been guarded by a mutex indicates that g_bRecording is potentially accessed from multiple threads, and volatile does not avoid races. Change-Id: I933ff5d912cbc7acce52155c605d9c19049c66aa Reviewed-on: https://gerrit.libreoffice.org/63073 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-11-06reduce cost of ProfileZone when it is not activeNoel Grandin
by avoiding taking the mutex Also reduce the code that the mutex covers to the minimum necessary. Change-Id: I115c8a447ec17f4800c39557e8de0bc8c669b47b Reviewed-on: https://gerrit.libreoffice.org/62936 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-05tdf#120703 PVS: V1028 fix unexpected integer overflowMike Kaganski
V1028 Possible overflow. Consider casting arguments of the operator to the type instead of casting its result. V547 Expression 'nNewSize > ((sal_Int32) 0x7FFFFFFF)' is always false. Change-Id: I7107b162d88c9d3f97019effcac1f9cfab52a66c Reviewed-on: https://gerrit.libreoffice.org/62846 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-11-03tdf#120703 PVS: V547 Expression is always true/falseMike Kaganski
Change-Id: I856345576ff5c10a41509a97ad4539272bd55568 Reviewed-on: https://gerrit.libreoffice.org/62803 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-10-26Log unopkg errors to log file if requestedSamuel Mehrbrodt
Before only the output generated by extension add/remove/... functions were logged to file, but not the error messages of unopkg itself. Change-Id: I4451aa51e2877ae48c453ee4791e36d970832567 Reviewed-on: https://gerrit.libreoffice.org/62369 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-24remove more rtl::OUString and OString prefixesNoel Grandin
which seem to have snuck back in since the great rounds of removals. Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1 Reviewed-on: https://gerrit.libreoffice.org/62229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-24Fix typosAndrea Gelmini
Change-Id: I8d2ff75a7b185daf331724616b4c61c5569c0664 Reviewed-on: https://gerrit.libreoffice.org/62226 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-10-20when calling std::lower_boundNoel Grandin
it's not enough to compare != end(), you also need to compare the key against the iterator result Change-Id: Ide5f151ba2297a35e5546f47fbc3c53cbe5ab533 Reviewed-on: https://gerrit.libreoffice.org/62014 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-19clang-tidy readability-container-size-emptyNoel Grandin
Change-Id: I1df70b7dff5ebb6048f7fc618789faa15ca5d422 Reviewed-on: https://gerrit.libreoffice.org/61967 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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-10-09Extend loplugin:redundantinline to catch inline functions w/o external linkageStephan Bergmann
...where "inline" (in its meaning of "this function can be defined in multiple translation units") thus doesn't make much sense. (As discussed in compilerplugins/clang/redundantinline.cxx, exempt such "static inline" functions in include files for now.) All the rewriting has been done automatically by the plugin, except for one instance in sw/source/ui/frmdlg/column.cxx that used to involve an #if), plus some subsequent solenv/clang-format/reformat-formatted-files. Change-Id: Ib8b996b651aeafc03bbdc8890faa05ed50517224 Reviewed-on: https://gerrit.libreoffice.org/61573 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-10-08tdf#42949 Fix IWYU warnings in include/comphelper/[m-z]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I04c5ba277d5b3398c07de6ae66713d977636088d Reviewed-on: https://gerrit.libreoffice.org/61347 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-10-02Move GetkeyBindingStrByXkeyBinding to comphelperSamuel Mehrbrodt
So that it is available to other a11y implementations as well Change-Id: Ib82c4861cf9e0e90c64703b13c46548a080ffd10 Reviewed-on: https://gerrit.libreoffice.org/61198 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-09-27-Werror=unused-variable (--enable-debug --disable-assert-always-abort)Stephan Bergmann
...found by <https://ci.libreoffice.org//job/lo_tb_random_config_linux/1504/> Change-Id: I8ebbe48cdbbdf378731bbc4548031d8799d91532 Reviewed-on: https://gerrit.libreoffice.org/61023 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-09-24tdf#42949 Fix IWYU warnings in include/comphelper/[a-l]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I22ba2c8aec235e34cd7835b8a0a716bf3057db7a Reviewed-on: https://gerrit.libreoffice.org/60837 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-09-19generateGUIDString: Fix incorrect string lengthSamuel Mehrbrodt
This bug caused signature line IDs in OOXML to be written with an appended "_x0000_". Change-Id: If219279a5d5177ec5fac2d9dd747dc015c16b6bc Reviewed-on: https://gerrit.libreoffice.org/60736 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-09-17New loplugin:externalStephan Bergmann
...warning about (for now only) functions and variables with external linkage that likely don't need it. The problems with moving entities into unnamed namespacs and breaking ADL (as alluded to in comments in compilerplugins/clang/external.cxx) are illustrated by the fact that while struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } returns 1, both moving just the struct S2 into an nunnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { namespace { struct S2: S1 { int f() { return 1; } }; } int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } as well as moving just the function f overload into an unnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; namespace { int f(S2 s) { return s.f(); } } } int main() { return f(N::S2()); } would each change the program to return 0 instead. Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c Reviewed-on: https://gerrit.libreoffice.org/60539 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>