summaryrefslogtreecommitdiff
path: root/tools/source
AgeCommit message (Collapse)Author
2019-10-17Remove some memset callsMike Kaganski
Replace them with default initialization or calloc Change-Id: I747f53c2ced2d0473fd5a5ede4f8520a0633dcc1 Reviewed-on: https://gerrit.libreoffice.org/80805 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-16loplugin:bufferadd loosen some constraintsNoel Grandin
and extend O*StringView to have a constructor that takes a pointer and a length Change-Id: I6120e96280f030757e855a6596efdae438b7e1e8 Reviewed-on: https://gerrit.libreoffice.org/80872 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-11ofz#14989 Z_NEED_DICT related infinite loopCaolán McNamara
Change-Id: I31c0d004d717564063c36862f9eef661d18768a9 Reviewed-on: https://gerrit.libreoffice.org/80648 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-11drop PZSTREAM defineCaolán McNamara
Change-Id: Ia0ac30fc8441f446977270c96dd2430647dfa2d7 Reviewed-on: https://gerrit.libreoffice.org/80647 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-10convert WriteCharPtr..getStr to WriteOStringNoel Grandin
and improve the WriteOString method, we can avoid the strlen here, we already have the length One change in behaviour to be noted - if the string contains trailing zero bytes, which ARE INCLUDED IN THE STRING LENGTH, i.e. I'm not talking about the normal terminating zero, then this patch changes behaviour because we will now write those zeros to the stream. Change-Id: I4668b9b9eb877f820b1dc70d6cd10ba2623bc0a2 Reviewed-on: https://gerrit.libreoffice.org/80597 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-09tools: don't leave SvStream::m_nBufFilePos pointing beyond the endMichael Stahl
... of the stream in SvStream::SetStreamSize(); this caused SvMemoryStream with SetStreamSize(0) and subsequent write to be pre-filled with 0 bytes. Change-Id: I0de704b319f5087bc6c1914881e38018212afbf2 Reviewed-on: https://gerrit.libreoffice.org/80478 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-10-08loplugin:redundantpointerops simplify *p.get()Noel Grandin
Change-Id: I12517651fb3f777fd08e384992bb3e84b340ad85 Reviewed-on: https://gerrit.libreoffice.org/80382 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-05ofz#17212 Floating point exceptionCaolán McNamara
deploy a workaround, bug logged against boost as: https://github.com/boostorg/boost/issues/335 Change-Id: I9791133e926dd474ddc5960a33fd90592ce3dcb3 Reviewed-on: https://gerrit.libreoffice.org/80304 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-02loplugin:stringadd in tools..unotoolsNoel Grandin
Change-Id: I441a5ccef6adc8be8029178e304ff3044e812e2a Reviewed-on: https://gerrit.libreoffice.org/79986 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-29Move Rectangle,Point,Size serialization to GenericTypeSerializerTomaž Vajngerl
Change-Id: Iae489fc31b13b836e1df5327ba2fa07e0325907a Reviewed-on: https://gerrit.libreoffice.org/79793 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-09-18remove unused crc functionality from ZCodecNoel Grandin
Change-Id: I3e57e815b538ad5749b4bab3d4ef8e295cbe116b Reviewed-on: https://gerrit.libreoffice.org/79098 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-01Fix '..'Andrea Gelmini
To complete this: https://gerrit.libreoffice.org/#/c/78312/ This is a massive replace for lines ending with ".." instead of "..." It passed "make check" on Linux. Change-Id: I07fa7b2e30ba9ea17a1f9a5e21c57216ba958efe Reviewed-on: https://gerrit.libreoffice.org/78356 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2019-08-30fix PolyPolygon move operator=Noel Grandin
and add move constructor, found by loplugin:noexceptmove Change-Id: I89507113b354c4ae080f7107c996b55ab1285738 Reviewed-on: https://gerrit.libreoffice.org/78285 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-30new loplugin:noexceptmoveNoel Grandin
idea from mike kaganski look for places where we can mark move operators as noexcept, which makes some STL operations more efficient Change-Id: Id732b89d1fcadd5ceb0ea2b9d159fed06136330f Reviewed-on: https://gerrit.libreoffice.org/78251 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-28INetURLObject::setFSysPath is unused nowStephan Bergmann
...after 056e1fff2ed232f2a50db933fbade1c71c0c2a65 "Simplify code removing the last segment from a URL" Change-Id: I3abe84ada119356191d8df9c0a8ee62dcf18d108 Reviewed-on: https://gerrit.libreoffice.org/78228 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-23loplugin:returnconstval in toolsNoel Grandin
Change-Id: Ic00c0a6788e65ba2b50e93d49592e67596354f96 Reviewed-on: https://gerrit.libreoffice.org/77998 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-12Fix typosAndrea Gelmini
Change-Id: Ica726584fe2691c9803976d23cba16d7f2a1f4bd Reviewed-on: https://gerrit.libreoffice.org/77355 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-08-12Fix typosAndrea Gelmini
Change-Id: Ic472270afa13d2c96a4c7ccc185d183c3b7ade2c Reviewed-on: https://gerrit.libreoffice.org/77277 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-07-31Improved loplugin:stringconstant (now that GCC 7 supports it): toolsStephan Bergmann
Change-Id: I6391e8caf4e344d410a31f45d391059498ebd928 Reviewed-on: https://gerrit.libreoffice.org/76635 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-18cid#1448224 Unchecked return valueCaolán McNamara
Change-Id: Ie13b8b8f865e44f3746fdf79bf0b1b2cec2aba1d Reviewed-on: https://gerrit.libreoffice.org/75845 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-07-15make tools::Rectangle::getBottom return 0 when emptyNoel Grandin
LayoutConverter::calcAbsRectangle needed to be tweaked because we now end up with a zero width/height instead of a large negative number. Change-Id: I81f04759a1d5bf6f44753a1701596796fad40567 Reviewed-on: https://gerrit.libreoffice.org/75610 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-15make tools::Rectangle::getWidth return 0 when emptyNoel Grandin
Change-Id: I5c7565309d380cdbe60a078d2c97f7dd1fae4274 Reviewed-on: https://gerrit.libreoffice.org/75517 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-12make tools::Rectangle::Bottom return Top when emptyNoel Grandin
Change-Id: Ia424b91149245907b045b43aa31a622e34e6e5bc Reviewed-on: https://gerrit.libreoffice.org/75504 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-12make tools::Rectangle::Right return Left when emptyNoel Grandin
I tried making this assert, but there are just too many places where we pass around empty rectangles, so rather just return the value of nLeft, in a similar fashion to methods like Rectangle::TopLeft Change-Id: I3377071ecae26f13e895ae411cd269f0bdbe0ef6 Reviewed-on: https://gerrit.libreoffice.org/75486 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::SaturatingSetX/Y respect empty stateNoel Grandin
Change-Id: Ifef4c2ff967fdfbe122bca99e55d84e8e6c6a635 Reviewed-on: https://gerrit.libreoffice.org/75343 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::setY respect empty stateNoel Grandin
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: I6feb94ca2f24246b96757575288c86c0b0c54227 Reviewed-on: https://gerrit.libreoffice.org/75342 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::setX respect empty stateNoel Grandin
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: I2beae23bbdea36e91e0e367f9a94cbc35be3cd24 Reviewed-on: https://gerrit.libreoffice.org/75337 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::AdjustBottom respect empty stateNoel Grandin
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: I9a3f7a0356ab625681419f74af0b9884624f3642 Reviewed-on: https://gerrit.libreoffice.org/75336 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::AdjustRight respect empty stateNoel Grandin
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: I69c717be91712b73e9d3b8f9c83d26305c052bd5 Reviewed-on: https://gerrit.libreoffice.org/75300 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-09make tools::Rectangle::shrink respect empty stateNoel Grandin
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: Id529037e82b2fdd8c2120877a44fc7e069fc8406 Reviewed-on: https://gerrit.libreoffice.org/75298 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-09Fix Android build after commit fc0850d2784eaa79257cf1ea8c5d078c5241b5bfMike Kaganski
The second parameter is unused Change-Id: Iaf82ea24737a162c6aa8ce6b9e237f656a10020a Reviewed-on: https://gerrit.libreoffice.org/75283 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-07-09fix android build - fallback getCpuId only had one parameterTomaž Vajngerl
Change-Id: I91c679506aad727c7f536e79e79a720db860b5ae
2019-07-09CPU intrinsics detection (SSE, AVX)Tomaž Vajngerl
Adds CPU intrinsics detection in configure pass for compile time detection and "cpuid" runtime detection of which CPU instruction sets are available on the user device. Change-Id: I0ee4d0b22a7c51f72796d43e7383a31d03b437ad Reviewed-on: https://gerrit.libreoffice.org/75175 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-07-08make tools::Rectangle::expandBy respect empty stateNoel Grandin
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: Ib383bb990ddcd835ff37e98893e44156287e0488 Reviewed-on: https://gerrit.libreoffice.org/75227 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-28tdf#126121: WebDAV redirection detectionMike Kaganski
This rewrites URI of a document opened from a WebDAV mapped UNC path on Windows (like "file://server/DavWWWRoot/Dir/Doc.odt") into HTTP URI (like "http://server/Dir/Doc.odt"). This allows using WebDAV protocol for these files, and e.g. get information about other user who locked the document to show when asking if open read-only or a copy. Change-Id: I643fa8df30d4b163783b279b1b973304fcafff37 Reviewed-on: https://gerrit.libreoffice.org/71746 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-06-25improve loplugin:simplifyconstructNoel Grandin
Change-Id: If863d28c6db470faa0d22273020888d4219e069e Reviewed-on: https://gerrit.libreoffice.org/74559 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-25tdf#94677 Calc is slow opening large CSV, improve tools::FractionNoel Grandin
Flatten the tools::Fraction class. Shaves 1s off a load time of 49s Change-Id: I7cbee9892831a1e47704a283351fa97eda262343 Reviewed-on: https://gerrit.libreoffice.org/74639 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-21Extend INetURLObject::setName and drop INetURLObject::SetNameMike Kaganski
Change-Id: I488313eeb363d2a9344d6bc801900d5b1f913020 Reviewed-on: https://gerrit.libreoffice.org/74463 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-06-18loplugin:logexceptionnicely in toolkit..unoxmlNoel Grandin
Change-Id: I0a3126545f9ef98640f6dd166290e9b9e91b8355 Reviewed-on: https://gerrit.libreoffice.org/74244 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-12Revert "improve empty tools::Rectangle (width)"Noel Grandin
This reverts commit a46a257794f1f53b294735fc876c394be23a3811. Too many issues, I'm going to try landing this in smaller pieces to make it easier to fix regressions Change-Id: Ie5e8979838017af86c119c887b580385ba068d54 Reviewed-on: https://gerrit.libreoffice.org/73859 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-07improve empty tools::Rectangle (width)Noel Grandin
This is the width part, the height part will come next. Instead of storing "empty" as a special value (which is easy to get wrong, eg. some image filters pass in that special value, expecting it to be a valid width), just use separate boolean values for width and height empty. Also lots of code was calling GetBottom() or GetRight() on an empty rectangle, getting back that magic value and doing calculations on it, resulting in completely bogus data. So (1) make the various Rectangle methods do something reasonable when the empty flags are set (2) fix various other code to handle empty better (3) assert when code accesses Bottom or Right and the empty flag is set. Change-Id: I1163378cd2773dd8b386210f83400bb6b4701069 Reviewed-on: https://gerrit.libreoffice.org/73564 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-14Switch everyone to stricter GetColorErrorJan-Marek Glogowski
This replaces the variant in Color with the stricter one of BitmapColor. I couldn't find any reasoning for the lazy variant used in Color. Change-Id: I6dab3ab94a7f24ef5e80299d64267e3be8df888c Reviewed-on: https://gerrit.libreoffice.org/72234 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-05-13Make BitmapColor inherit from / merge into ColorJan-Marek Glogowski
BitmapColor itself is kept to distingish the Color usage as part of a color palette, which continues to store the offset in the blue value. The original special mbIndex handling is long gone since commit 1fefdd6f3b41 ("Alpha channel in BitmapColor - change bIndex to alpha"), so there is no data difference. This also results in the following changes: * now has a basic_ostream<charT, traits>& operator<< (that was my actual starting point... for an other bug fix) * there is a minimal difference for GetLiminance BGR(29,151,76) => BGR(28,151,77) * no more return values for Merge and Invert (previously returning *this) * replaces all GetBlueOrIndex with GetIndex This leaves one "problematic" part: the GetColorError handling. At first glance it should probably be virtual. The Color variant is less strict then the BitmapColor one - for whatever reason. BitmapColor is always used to search for the best match in a Palette. Currently I'm simply leaving both variants. Would be nice to have an explict for functions here. Change-Id: I251ba3024a1d60f2a9d9fde9cd0a60f08e8322a7 Reviewed-on: https://gerrit.libreoffice.org/72181 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-05-08AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete)Stephan Bergmann
__cxa_demangle uses malloc/free for memory management, see <http://itanium-cxx-abi.github.io/cxx-abi/abi.html#demangler> Change-Id: I57f8465d1c70fbef4537068fd3aefc52295e1c63 Reviewed-on: https://gerrit.libreoffice.org/71942 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-05-07fix leak in exceptionToStringNoel Grandin
need to release the pointer we get back from demangle Change-Id: I74f1065006fe0cd5da79d0ec5caa514d216be9a1 Reviewed-on: https://gerrit.libreoffice.org/71859 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-30tdf#42949 Fix IWYU warnings in tools/Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I47974f5c24819eb60e6724f42d51bb206dc26d21 Reviewed-on: https://gerrit.libreoffice.org/71557 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-04-30improve loplugin:stringconstantNoel Grandin
to find more places we can elide the OUString() constructor at call sites Change-Id: Ie09f3c61f2c4b4959c97dc98ebcbaf7c51d5d713 Reviewed-on: https://gerrit.libreoffice.org/71514 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-27Decouple reading/writing of Color into GenericTypeSerializerTomaž Vajngerl
This adds GenericTypeSerializer, which is now responsible of serializing the Color into a stream (other types will follow), but only for the older version of the binary format. The new version we just write the sal_UInt32 mValue directly. This is a start of decoupling the serialization of generic types in tools and vcl module from the actual type, so we can in the future replace those with basegfx variant. Change-Id: I92738e7c178cac5cbca882dcbe45c80cc8269466 Reviewed-on: https://gerrit.libreoffice.org/71404 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-04-22cleanup and rename COLORDATA_RGB to color::extractRGBTomaž Vajngerl
Change-Id: I8d53c7010b4fea2a74e48f0649e944a498c211c7 Reviewed-on: https://gerrit.libreoffice.org/71003 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-04-21rework Color to have R,G,B,A public variablesTomaž Vajngerl
Color is a wrapper around a sal_uInt32 variable. With a union, separate channels R, G, B, A sal_uInt8 variables can be added that occupy the same memory. This makes it much easier to access each color component separately, which is used quite a lot by various algorithms. This also adds the variables to public so everyone can enjoy the benefits. Tests have been extended to make sure this doesn't break the existing algroithms. Change-Id: I2e78e12df68e8c7f0f49420eef5e659b335ee397 Reviewed-on: https://gerrit.libreoffice.org/71002 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>