summaryrefslogtreecommitdiff
path: root/include/tools
AgeCommit message (Collapse)Author
2020-09-26revert recent Polygon commitsNoel Grandin
This reverts commit 0cabffc05f3b40f5ee897df73475e09a3c05fc7 tools::PolyPolygon -> basegfx in canvas and commit 2c5d5a6d55a1ebd153f05523972a2c625484bde2 tools::PolyPolygon -> basegfx in filter Comment from quikee: The interpretation of integer polygons and floating point polygons (or any other float vs. int drawing primitives) are different, so you have to be really careful when changing, that the result after the change is still the same. A big problem is that we still have the metafile in OutputDevice, which is completely integer based - so there will be conversions that go from int representation to float representation to int again and to float (because backend is in floating point) and I really fear that because of this there will be regressions and even if not, it could make changing later more painful. This is the reason I wouldn't change these things without having tests that would show when there is a difference in rendering. Change-Id: I54addca4e5a72196b5f77f6c7689eb716451c1dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103483 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-09-26tools::PolyPolygon -> basegfx in canvasNoel Grandin
Change-Id: I7b5ac7b434932515895bf60acfa0109e6a2ebd18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103417 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-09-26tools::PolyPolygon -> basegfx in filterNoel Grandin
which needed an extra method on OutputDevice. Also add some utility methods to make future conversion work easier. Change-Id: I57c5bc7505e656a014f2e723fea2aa79271e6515 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103415 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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-26[API CHANGE] Drop OSL_THIS_FUNC, directly use C++11 __func__Stephan Bergmann
It had been documented as "the macro OSL_THIS_FUNC is intended to be an office internal macro for now", so take the liberty of removing it, even if technically that can be considered an incompatible API change. Change-Id: I7580a932e1da54845934378a650e894f3f3a9062 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101406 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-20Fix typo in commentAndrea Gelmini
Change-Id: Iacc4791157674fde0c2b76b024a7deceb2159e46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101011 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2020-08-14remove now unused DELETEZ macroNoel Grandin
Change-Id: I67c51424db1302aaffc78389466f680952045326 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100625 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-03tdf#42949 Fix IWYU warnings in include/[t-x]*/*hxxGabor Kelemen
Recheck after 7-0 branchoff Also drop the now unused file include/vcl/field.hxx Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I9e54c82f50d1e02a0f99858939cac999fc66f7de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99261 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-07-03remove some dead WindowType valuesNoel Grandin
Change-Id: I7eb67e48a87e8cc2babbd46d482294877b08ab99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97828 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-01loplugin:constantparamNoel Grandin
Change-Id: Ie9d4761747f7e97f63f34394b5a8b9f0bb287a0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97528 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-25use tools::JsonWriter for dumping property treeNoel Grandin
Change-Id: I8f55af19ba10b71bd621e69b27000ab7cb565309 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96677 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-24Add test as an example how to add CPU intrinsics supportTomaž Vajngerl
Also makes sure that if the CPU dataction or compiler detection doesn't work correctly, the test could potentially crash. Change-Id: If0862c0a736c8e1f5ba1117b248918e4c1fb2f4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96779 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-20use JsonWriter for the rest of ITiledRenderableNoel Grandin
and fix bug in buffer reallacotion where mPos pointing at the beginning of the new buffer instead of at the correct index inside it. Change-Id: Ie1ffaa176f6165e2cec85c93adc945312eff38e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96650 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-19asan: need to use malloc instead of new for tools::JsonWriterNoel Grandin
because the LOK API expects memory returned from those calls to be malloc'ed Change-Id: If6fbfb60c433bd6e58bc90a9a90a90663e2e1c60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96676 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-19Fix typosAndrea Gelmini
Change-Id: I887a86506b700a21b56bbc66d8b3b2e1bcec0da5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96651 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-06-18Add missing header after c8bed6445b244a5d9021dbd9a2ff19d80c03917bMike Kaganski
Change-Id: I24d354d8d781da3944044a2895e7d9163c31076f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96601 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-06-18new json writer for LOKNoel Grandin
we shave about 3 memory copies off in the process, and make the class play nicely with our string types. Change-Id: I1f614fb35b1de499ac99e3b33ac638ad81054bed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96393 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-10fix reseting WeakReference when moving a ref to another ref.Tomaž Vajngerl
In ViewIteratorImpl::Reverse we std::move a reference, to a local variable, however the reference was not reset correctly, which caused a crash. The issue is that a mpWeakConnection in WeakReference always needs to be non-null as shown in reset(reference_type* pReference) method. In the move constructor of WeakReference, we just std::move the reference like: mpWeakConnection = std::move(rWeakRef.mpWeakConnection); This means rWeakRef.mpWeakConnection will be reset to null, which is not what is expected, so what is missing is to instantiate rWeakRef.mpWeakConnection by calling reset(nullptr) or using the added reset() method. This also adds a test for LOKit PDF search as this is the case where the crash has been reproduced. It happens because of a call to: ... std::move(maPosition.mxObject); in the method ViewIteratorImpl::Reverse() Change-Id: I43692554ba4f6231d00091269b7c902ab5cbc11f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95995 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-01vcl: add conversion point to twip int64 & double valuesTomaž Vajngerl
Change-Id: Id54d28b57c055269259317521f59d37dcdf9a456 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95274 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-06-01vcl: add conversion point to 100th mm for double valuesTomaž Vajngerl
Integer conversion throws away percision, which is problematic when we work with floating point values. Change-Id: Ib34e46bd59aa67e933d49bc800e96cc6426414e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95260 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-27ofz#22222 avoid calling DbgGetCaughtException if unnecessaryCaolán McNamara
Change-Id: Ia48240d2c0218ac3b790c78f458896a90c586869 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94304 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-05-27WB_LISTBOX_POPUP is newly unusedCaolán McNamara
Change-Id: I97a52499e1fda8a9426e6956e3e925e0572c41ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94886 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-14tdf#79082 Improve ppt tab import/exportSamuel Mehrbrodt
Import/export the paragraph tabs without any text offset, tabs are relative to the text box anyway. Change-Id: Ife3b762e7581548e65500c16259a4481cc07a88f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94101 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-05-11lok: fix the window type of the formatted field controlHenry Castro
Change-Id: Iab87c94ca19314eacec18e71d7d09ba42f1756e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93586 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com>
2020-05-10new loplugin:simplifypointertoboolNoel Grandin
Change-Id: Iff68e8f379614a6ab6a6e0d1bad18e70bc76d76a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91907 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-03move unit conversions to UnitConversion, add convertPointToMm100Tomaž Vajngerl
Change-Id: I3e5a4632e9809562885c1e0ec5c5262acec145d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93332 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-03use more compact namespace syntax in /includeNoel Grandin
excluding the UDK headers of course Change-Id: Iac7ab83d60265f7d362c860776f1de9d5e444ec0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93268 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-22tdf#42949 Simplify use of rtl::math::approxEqual in include/basegfx/Gabor Kelemen
Turns out we can save about 500Mb of preprocessor input if we use rtl_math_approxEqual from rtl/math.h instead of its C++ wrapper rtl::math::approxEqual from rtl/math.hxx and manage the fallout accordingly. Before: bin/includebloat.awk | head sum total bytes included (excluding system headers): 19017296671 After: $ bin/includebloat.awk | head sum total bytes included (excluding system headers): 18535432672 Change-Id: I1691171f3a309405a7099882ad9989d147f59118 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92508 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-04-20add tools::Rectangle::JustifyNoel Grandin
so rectangles can be constructed already valid Change-Id: I3ae5e24add3c81f79dcdf863f855dca439876f11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92521 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-15add an IsEmpty method to tools::Size and use itNoel Grandin
Change-Id: I7f5201e2ea6c74329336e16bf219630e38ff92cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92264 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-03loplugin:singlevalfieldsNoel Grandin
Change-Id: I69c5b28636806e45d7ba5d8c4678caeda09caa50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91607 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-23make more classes private in mergedlibs modeNoel Grandin
Change-Id: I486922d0652f26fa7ee56f5fe308e19fe5ff137e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90856 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-19add operator* to tools::WeakReferenceNoel Grandin
which fixes warnings from commit ef37ab245b8095895f715217236e8e2fb90613c6 Date: Thu Mar 19 09:21:45 2020 +0200 loplugin:redundantpointerops add some more smart pointer types which I pushed earlier, where I added tools::WeakReference to the list of smart pointer types, but of course the conversion it recommended is not possible without an operator* Change-Id: I9433b7aba46a3a15f9d833847ae3659367388109 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90735 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-18tools::WeakBase still needs to be TOOLS_DLLPUBLIC under --enable-mergelibsStephan Bergmann
...plus --enable-assert-always-abort: ShapeManagerImpl::checkForImageMap in slideshow/source/engine/slide/shapemanagerimpl.cxx in Library_slideshow calls SvxShape::GetSdrObject, which calls tools::WeakBase::get (include/tools/weakbase.hxx), which contains > assert(dynamic_cast<reference_type *>(pWeakBase)); requiring RTTI for tools::WeakBase. See e.g. <https://ci.libreoffice.org//job/lo_tb_random_config_linux/2281/>. Change-Id: I9598c14bf74eb5a28332d0beecfbe8201b39451e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90697 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-15Revert "loplugin:constfields in tools"Noel Grandin
This reverts commit 833c4965fc0941ea997852e3d99dcd7688e58c14. Change-Id: I130a91538627f9e83d94615e2ddd48da5a075d4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90517 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-06mark some more classes hidden in --enable-mergelibs modeNoel Grandin
and speed up the script using python's multiprocessing module Change-Id: I01e1350937a0531e26603d6357982c91f3bcef0f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90107 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-24workaround GCC 9.2.1 -Og -Werror=maybe-uninitializedMichael Stahl
vcl/unx/generic/gdi/salbmp.cxx:727:32: error: ‘pixmapHandle’ may be used uninitialized in this function [-Werror=maybe-uninitialized] vcl/unx/gtk3/gtk3gtkinst.cxx:7336:16: error: ‘eRet’ may be used uninitialized in this function [-Werror=maybe-uninitialized] etc. One looks like it might occur in practice. Change-Id: I09af7d36b134b31cb7bd8047b5c73f4a49c9d9b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89351 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-02-19use FILE_ATTRIBUTE_TEMPORARY on Windows for temp filesNoel Grandin
which acts as a hint to the OS that these files do not need persistent storage. If there is sufficient system RAM, these files will never even hit disk. Change-Id: I25b83aad67fda58ec39cead8bd1eb038892d3cde Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88124 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-13tdf#130325 Fix listbox used as dropdownSamuel Mehrbrodt
In this case, the listbox is not used as a static widget, also not as a combobox with dropdown. Instead the listbox is placed in a popup to choose values from. Need to handle this case similiar to the combobox dropdown (Cursor movement only travels through items, Return selects one item). Regression from 7de9417d5f65d35227c7f80f6d587c2a56bde4e0 Change-Id: Idadc3da5847e12e1408203b13ab59eb53fe14eea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88581 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-01-27tdf#124176: Use pragma once instead of header guardPelin Kuran
Change-Id: Id28874549342349fb2727c3cb8e92da1dcdb727c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87513 Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com> Tested-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-01-08Grammar fixesAndrea Gelmini
Change-Id: I6ac6f6abb601aa254e94612e6826488393de8e3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86383 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-12-28pdf: extract XMP metadata writing and use XmlWriterTomaž Vajngerl
Instead of writing XMP metadata with a string buffer, change to use XmlWriter instead. Extract XMP metadata writing into its own class vcl::pdf::XmpMetadata. This also needs a change to the XmlWriter to not write a classic XML header: '<?xml version="1.0" ... ?>' Change-Id: I95ea0e7ba58e7c43a0c707bf9c676994210ff104 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85908 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-23sal_Char->char in toolsNoel Grandin
Change-Id: Id8be02e445ac439439b2f78ba4a7376dd19ce360 Reviewed-on: https://gerrit.libreoffice.org/85744 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-18tools: define DbgTestSolarMutex() unconditionallyMiklos Vajna
See the discussion at <https://gerrit.libreoffice.org/#/c/58170/>, and this came up on IRC today again. The above change broke the invariant that you can mix product and debug (but not dbgutil) builds. Restore this, without mandating dbgutil for the solar mutex assert code, which is useful for plain debug builds as well. Change-Id: I1f8bdb114b129fc4f39f186ba917e35e346a16b5 Reviewed-on: https://gerrit.libreoffice.org/85369 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-12SvFileStream::Lock/UnlockRange are only called from within SvFileStream itselfStephan Bergmann
...and only for whole-file locking, so simplify the implementations in strmunx.cx and strmwnt.cxx accordingly Change-Id: I973e0ea41f246ad614232b107c8bf152073867be Reviewed-on: https://gerrit.libreoffice.org/85039 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-05make some classes module privateNoel Grandin
Mark some stuff SAL_DLLPUBLIC_RTTI in include/vcl/metaact.hxx in order to make ASAN happy. Change-Id: I97febe0968bf58b9cbe60ce647f0ada25e6f4bb0 Reviewed-on: https://gerrit.libreoffice.org/84202 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-04Use SAL_STRINGIFYStephan Bergmann
Change-Id: I2bfc35ee72ab0a27902aa8382ccb6b6dce9126be Reviewed-on: https://gerrit.libreoffice.org/84406 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-17cid#1455745 Not restoring ostream formatCaolán McNamara
Change-Id: Ie5b73bca282a279a0318e42499d44f19822b1554 Reviewed-on: https://gerrit.libreoffice.org/83017 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-03find symbols that can be privateNoel Grandin
update the script and make private standalone functions Change-Id: Icb26ce258107700c90f89ad4e0d3329d075a2eb1 Reviewed-on: https://gerrit.libreoffice.org/81879 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-30loplugin:finalclasses toolsNoel Grandin
Change-Id: I6577a0947acda837dd3f775b10fc09bac9fbb27e Reviewed-on: https://gerrit.libreoffice.org/81728 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>