summaryrefslogtreecommitdiff
path: root/vcl/source/gdi
AgeCommit message (Collapse)AuthorFilesLines
2018-05-29tdf#113143 PDF export: fix mis-scaled JPGs on Impress note pagesMiklos Vajna1-2/+4
This is really similar to commit 4c2172a3e973bc6351107a3a1b554c77b40b75dd (tdf#106702 PDF export: fix missing images from Writer headers/footers, 2018-05-22) just this one is about the size of the output rectangle for JPG content, while the previous problem was about the position of them. Also extract PdfExportTest::exportAndParse() from the last two tests to avoid duplication. (cherry picked from commit 89dc667cebfec5315f0c0361e49d759e88458689) Change-Id: I9812924d505e9fdaca2a95b4990e7aaa5e44fd7f Reviewed-on: https://gerrit.libreoffice.org/54989 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2018-05-27tdf#106702 PDF export: fix missing images from Writer headers/footersMiklos Vajna2-5/+22
Position of an image is determined by the relevant bitmap scale metafile action when recompressing images. The same position was determined by PDFExtOutDevData "meta" info when not recompressing images. This second rectangle was never correct for images repeated in Writer headers/footers on non-first pages: the position was relative to the page, while PDF export sets the map mode (origin) of the output device during export, so such positions are expected to be absolute ones. The root of the problem seems to be that header images in Writer are both repeated (as the user sees it) and unrepeated (as the doc model sees it), and by the time we want to get its position, we only see the unrepeated SdrObject. Fix the problem by using the correct position from the scale action and not from PDFExtOutDevData if possible. (Also give up on running CppunitTest_vcl_pdfexport in the non-pdfium case, most of the tests there do require pdfium anyway, and the growing ifdef forest in that file just made it hard to read the code.) (cherry picked from commit 4c2172a3e973bc6351107a3a1b554c77b40b75dd) Conflicts: vcl/Module_vcl.mk vcl/qa/cppunit/pdfexport/pdfexport.cxx Change-Id: I31c14d4bd223b2804859982542ebd6d5f9abd312 Reviewed-on: https://gerrit.libreoffice.org/54690 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-05-18tdf#105954 PDF export, ReduceImageResolution: fix re-compressing large imagesMiklos Vajna1-0/+5
Expensive re-compress is not pointless when the user opts in to reduce resolution. (cherry picked from commit 9fd6b6b1f5b83d923a47252b744358721761d9cf) Conflicts: vcl/qa/cppunit/pdfexport/pdfexport.cxx vcl/source/gdi/pdfextoutdevdata.cxx Change-Id: I1e04c6d4f0d95d41808ef885082239645401b2e2 Reviewed-on: https://gerrit.libreoffice.org/54470 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-05-04tdf#109143 PDF export: don't reuse compressed bitmaps for cropped imagesMiklos Vajna1-3/+9
PDF wants to loose the pixels masked out by cropping, so the "reuse original compressed image" optimization should not be used in that case. (cherry picked from commit be3ef7b0e5e51c1d97309ce3b6d5cac1fbd025d0) Conflicts: vcl/source/gdi/pdfextoutdevdata.cxx Change-Id: Ifdf2cc4ff6bff0ed456a2159395314817c1cf417 Reviewed-on: https://gerrit.libreoffice.org/53772 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-04ofz#7165 set a recursion limit for svm in svmCaolán McNamara2-6/+38
Change-Id: Id9089986012588690b6d5e33cd71d094ef2357dd Reviewed-on: https://gerrit.libreoffice.org/51983 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2018-03-23tdf#115117: Fix PDF ToUnicode CMAP for ligaturesKhaled Hosny2-37/+56
Move the glyph to character(s) mapping to CommonSalLayout where we have enough information to do this properly. This correctly handles ligatures at end of run that wasn’t handled before, and also fixes a bug in the PDF writer code when there is more than one ligature in the run (it forgot to clear aCodeUnitsPerGlyph vector after each iteration). Also drop the “temporary” fix for rotated glyph from 2009 that does not seem to be needed now (the document from that bug exports correctly after this change). Change-Id: I5b5b1f4470bbd0ef05cbbc86dfa29d2ff51249ea Reviewed-on: https://gerrit.libreoffice.org/51617 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit b94a66ebc8db6c5ca9c7dcfdfbb06b49deae4939) Reviewed-on: https://gerrit.libreoffice.org/51715
2018-03-20tdf#115353 tdf#114743 Use first valid glyphTamas Bunth1-11/+23
in AdjustLayout. Change-Id: Iaa9a0cde2bd35fed5cbc9ebf0690341812679b6f Reviewed-on: https://gerrit.libreoffice.org/49542 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-03-13forcepoint #27 check region bands loaded from stream for consistencyCaolán McNamara2-5/+30
Change-Id: I92376b5fb4208c78fa25a94d4dd394256793161c Reviewed-on: https://gerrit.libreoffice.org/51145 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-03-01tdf#115297: alternative fix for displaying 1bit imagesVasily Melenchuk1-9/+1
Previous fixes for 1bit monochrome / paletted images produced some regressions, so here is attempt to fix problem at the root. Partially reverted 66dbd4da3afcadb1393daf9be9cecff71b86509a and fixed in a different way without tdf#115297, tdf#114726 and related. Change-Id: I6849ed5ac41770ba905c930065c80e58509dba2e Reviewed-on: https://gerrit.libreoffice.org/50454 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 25cd843664919974f0d21ca7a0b02cc43e9eeabb) Reviewed-on: https://gerrit.libreoffice.org/50540 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-02-22forcepoint #4Caolán McNamara1-6/+21
Thanks to Antti Levomäki and Christian Jalio from Forcepoint. Change-Id: I569ca80267ad9b5a21da0029ba903d2a4c45a035 Reviewed-on: https://gerrit.libreoffice.org/50085 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-01-23its defineresource not define resourceCaolán McNamara1-1/+1
regression from commit 64d624b65124ac02d8ee59b135593fd9d8eb9067 Date: Sat Jan 9 22:55:28 2016 +0100 Fix typos Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86 Reviewed-on: https://gerrit.libreoffice.org/21209 Tested-by: Jenkins <ci@libreoffice.org> Change-Id: Ifdf45e97b81523c84c73b93d14ed75b7b6909f77 Reviewed-on: https://gerrit.libreoffice.org/48356 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-12-18ofz: ensure null terminationCaolán McNamara1-2/+4
Change-Id: I6b6b0763e85a41d03f9e03c6abc17c6c311f6519 Reviewed-on: https://gerrit.libreoffice.org/46642 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-11-25Modernize pdfwriter_impl, part 2 (vcl)Julien Nabet1-25/+13
by using for range loops + find_if instead of loops Change-Id: Ide439a683e6b3c406811fe135a7651e26395cf1e Reviewed-on: https://gerrit.libreoffice.org/45257 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-24Modernize pdfwriter_impl by using for-range loops (vcl)Julien Nabet1-155/+143
Change-Id: I82354a03b94b126a7aed460d9cd46d37b8f38ada Reviewed-on: https://gerrit.libreoffice.org/45173 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-23Make loplugin:unnecessaryparen look through implicitStephan Bergmann2-14/+14
...similar to how <https://gerrit.libreoffice.org/#/c/45083/2> "Make not warning about !! in loplugin:simplifybool consistent" does for loplugin:simplifybool Change-Id: I23eef400af71c582d380c9bae6546ce06e8a1e18 Reviewed-on: https://gerrit.libreoffice.org/45122 Tested-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-23Replace list by vector for m_aJPGs pdfwriter_impl (vcl)Julien Nabet2-7/+7
+use for range loop just for the loop containing "std::list" Change-Id: Ie30dc016e9a001d0bb4ecd31a75749093326e2f6 Reviewed-on: https://gerrit.libreoffice.org/45112 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-23loplugin:simplifybool for negation of comparison operatorNoel Grandin1-1/+1
Change-Id: Ie56daf560185274754afbc7a09c432b5c2793791 Reviewed-on: https://gerrit.libreoffice.org/45068 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-22replace check of eof and GetError with goodCaolán McNamara2-2/+2
Change-Id: I7d9f04262ab5420e9a14813fa1274bb9d01e3291 Reviewed-on: https://gerrit.libreoffice.org/45076 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-22drop duplicate methodCaolán McNamara4-5/+5
Change-Id: Idadd0a64e41cd02f5167b275081c3576a6224b12 Reviewed-on: https://gerrit.libreoffice.org/45075 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-22loplugin:simplifybool re-activate the !! warningNoel Grandin1-1/+1
Change-Id: Iac7d82a1c228734177be536e9a6c41803c03637b Reviewed-on: https://gerrit.libreoffice.org/45035 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-21assert that mnPngDepth can only be 16 hereStephan Bergmann1-0/+4
...due to how PNGReaderImpl::ImplReadHeader sets up the various PNGReaderImpl data members. Shows that the "(and, TODO, also in the mbAlphaChannel case)?" from bb11e1283e3d49ec1bfe14c4271edbd49af3e3c1 "ASan heap-buffer-overflow" does not need any further fixes. Change-Id: Ie942e22dc67b2704c7c74b7b70e474b34173e9d1
2017-11-21ASan heap-buffer-overflowStephan Bergmann1-0/+16
e.g. during CppunitTest_sd_misc_tests (see <https://ci.libreoffice.org/job/lo_ubsan/735/console>) after 66dbd4da3afcadb1393daf9be9cecff71b86509a "tdf#113918: Workaround: Load 1bpp indexed PNG as 8bpp indexed Bitmap". Looks like PNGReaderImpl::ImplDrawScanline also needs to special-case mnPngDepth == 1 in the mbTransparent case (and, TODO, also in the mbAlphaChannel case)? Change-Id: Ie6a0230ec606f7cc5aaf174b9c0075a3b4cb5b1d
2017-11-20tdf#113918: Workaround: Load 1bpp indexed PNG as 8bpp indexed BitmapTor Lillqvist1-3/+28
The alternative, to fix the X11 disaster area used by the gen, gtk, and kde4 VCL plugins, seemed more difficult. Somebody else with more time, feel free to revert and do that instead. Change-Id: I068ea27224ba98be25e01671546137ddd70691a7 Reviewed-on: https://gerrit.libreoffice.org/44957 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2017-11-20tdf#95656 vcl: correct offset for vkrn positionMark Hung1-3/+2
For Bopomofo tone marks to attach to anchor points. Change-Id: I66373790cb80515f4ab0ca9c166f78634eb4081c Reviewed-on: https://gerrit.libreoffice.org/44922 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mark Hung <marklh9@gmail.com>
2017-11-20look for =() in loplugin:unnecessaryparenNoel Grandin1-1/+1
Change-Id: I4f9b71ff7767e90987bb40358fc46ed5d1d571d0 Reviewed-on: https://gerrit.libreoffice.org/44944 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-17tdf#111967 translate offsets so it is relative to v originMark Hung1-0/+7
The offsets were 0 in HarfBuzz 1.3.3 but the value became something else and made text offsets toward upper-right after upgrading to HarfBuzz 1.4.8. Those values are offsets relative to the horizontal origin. But underlying renderer expect positionos relative to the vertical origin. Translate them back by adding the horizontal origin. Change-Id: If58d2c082b198bfd8789efb3df2be49869a04bf9 Reviewed-on: https://gerrit.libreoffice.org/44556 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mark Hung <marklh9@gmail.com>
2017-11-17ofz#4076 bad palette READCaolán McNamara1-2/+6
Change-Id: I54943d96baa6e2309bbf2cd3b6d8bcada2b76952 Reviewed-on: https://gerrit.libreoffice.org/44351 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-17loplugin:useuniqueptr in MultiSalLayoutNoel Grandin1-6/+4
Change-Id: I57ac9cf988dfccfcb38c69ca9c66c2ad77bbdada Reviewed-on: https://gerrit.libreoffice.org/44819 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-16tdf#113875: Properly export 1bpp greylevel (but not B&W) PNG images to PDFTor Lillqvist1-4/+23
No idea whether 1bpp non-greylevel (i.e. with two palette entries that aren't shades of grey) PNG images are mishandled. Change-Id: I72173c7398db7f0e93c19679e3e392949bf1f4d2
2017-11-15loplugin:flatten in vclNoel Grandin4-942/+952
Change-Id: I3527477277a9ae96eaf9fd068232f672da7c28c3 Reviewed-on: https://gerrit.libreoffice.org/44753 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-14ofz: if parsing failed we keep reparsing itCaolán McNamara1-1/+4
Change-Id: I656eb1144a652addbc4a0b07b5d5dd435b68bf2c Reviewed-on: https://gerrit.libreoffice.org/44714 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-14use std::unique_ptr for SalLayoutNoel Grandin3-15/+10
to make the ownership passing around more obvious Change-Id: I147ec6d9cfe7566cf3600685e0730ed741c2d90d Reviewed-on: https://gerrit.libreoffice.org/43454 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-09tdf#113428: Fix glyph positions in PDF exportKhaled Hosny1-4/+10
Not sure what is going on, but PDF export is the only place we call GetNextGlyphs() with nLen > 1 and it seems I broke something here in b894104a0b02a9b074c76feb925389d7bee6a493. Instead of trying to figure out what the old code was trying to do, lets just calculate glyph positions for the extra glyphs as GetNextGlyphs() does for the first one, making PDF export closer to how the rendering on screen works. Change-Id: I3f516e954ccfbe38abcf6985efe3bb1f998e967f Reviewed-on: https://gerrit.libreoffice.org/44514 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2017-11-07Fix harfbuzz font lifecycle in CommonSalLayoutJan-Marek Glogowski1-35/+53
The harfbuzz font is attached to the system font face and therefore inherits its lifecycle. This means it can be used in multiple CommonSalLayout objects, so the user data parameter of hb_face_create_for_tables can't be the layout, but must be the font. This moves the special Qt5Font handling into it's own function, so accessing the switching parameter mbUseQt5 is not needed. Regression from commit b66a7cbd8491fe436126e11975c360f47ae346ed. Change-Id: Ic34cc5b60e401562c73b239a58176a59fe4bf9be Reviewed-on: https://gerrit.libreoffice.org/44398 Reviewed-by: Khaled Hosny <khaledhosny@eglug.org> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-11-06tdf#108748 generate PDF preview on SwapInJan-Marek Glogowski1-5/+8
When including a PDF as an image, it's represented internally as a Bitmap with additional PDF data. On SwapIn, LibreOffice just imported the PDF data missing the PDF preview. The Graphic also gad the wrong image type, which results in a busy loop on master, with a strange / unhelpful STR_COMCORE_READERROR generated by SwNoTextFrame::PaintPicture. This is a workaround to generate the Bitmap on SwapIn, which will really slow down LibreOffice when importing many PDFs. I guess the job of generating the PDF previews should probably be deferred to a thread or a low priority Scheduler task, just like the general image loading is handled. Change-Id: I8084e4533995ecddc5b03ef19cb0c6a2dbf60ebd Reviewed-on: https://gerrit.libreoffice.org/43906 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-11-06QT5 fix build issues & cleanupsJan-Marek Glogowski1-20/+25
1. Linking problem on Windows due to Windows macros via <vcl/sysdata.hxx> include 2. Drop the custom MOC target for the old KF5 plugin 3. Correctly handle QT5 build without using QFont 4. ImplJobSetup is in the VL library, not the gen plugin Change-Id: Iad97b1b9b57a8c356aaa88178aff03d0c14558c7
2017-11-06QT5 fixup non-qt5 buildThorsten Behrens1-11/+15
Change-Id: Ifea73d81ba3863fd6a99453cb38303eb729f6ff4
2017-11-06QT5 first stab on implementing CommonSalLayoutJan-Marek Glogowski1-12/+64
CommonSalLayout doesn't rally have an interface. It's cluttered with #ifdefs. Currently we have to move the Qt5Font into the VCL library. Someone should refactor this... Doen't render any text yet, but reports some sizes. Eventually that would cut down the public interface again. Change-Id: I12f32affb05b37e070c6cbc80db01779f84590b6
2017-11-06mbIDAT is actually set when mbIDAT is complete, not when startedCaolán McNamara1-13/+13
Change-Id: I8d733ab07b6e989c05f131b61441da7e6d124772
2017-11-03loplugin:constparam in vcl,svtoolsNoel Grandin5-15/+15
Change-Id: I7a3eb2bfda869e9e66db919f929ead60cf8890a4 Reviewed-on: https://gerrit.libreoffice.org/44209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-02improve constparam lopluginNoel Grandin1-1/+1
lots of little fixes to make the logic less pessimistic Change-Id: If368822984250b11b98c56f5890177a1402e8660 Reviewed-on: https://gerrit.libreoffice.org/44168 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-30Constify some VCL interface functionsJan-Marek Glogowski2-2/+2
This drops the bPaintEnd optimization for vertical and horizontal lines on Windows, where Polyline and LineTo exclude painting the last pixel of the line. Instead we just always set the last pixel. It also merges the various "SetPixel" call sites into a common drawPixelImpl function. Change-Id: I01cc3c01c908ba74f7978fa90eaaf8d88f923ae3 Reviewed-on: https://gerrit.libreoffice.org/43939 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-10-30loplugin:constantparam in vclNoel Grandin3-34/+16
Change-Id: Ic32e4098dcdae5ca5d7fe2749badedabda86a90d Reviewed-on: https://gerrit.libreoffice.org/44043 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-30Replace list by vector for m_aSubsets (vcl)Julien Nabet2-10/+10
+ use for range loops for those related to m_aSubsets Change-Id: I2fa3e3c46394381f5d0bb042481c1884bfe52da9 Reviewed-on: https://gerrit.libreoffice.org/44033 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-10-26vcl: make MapMode constructor explicitMichael Stahl12-19/+20
Insert constructor everywhere, except a couple places that apparently want to compare GetMapUnit(). Change-Id: I1910deb60562e5e949203435e827057f70a3f988
2017-10-25ofz#3750 Undefined-shiftCaolán McNamara1-1/+4
Change-Id: If227dea7758c22cadfad83192e0ad31a4183b5b5 Reviewed-on: https://gerrit.libreoffice.org/43747 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-25ofz#3753 Integer-overflowCaolán McNamara1-0/+3
Change-Id: Icdcd42cc064e18686e6738b4195b6668c7d5d05e Reviewed-on: https://gerrit.libreoffice.org/43748 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-24ofz#3747 Invalid-bool-valueCaolán McNamara1-3/+4
Change-Id: I168fc71471dc9aeb4cd5149aaab765e65f7d5a82 Reviewed-on: https://gerrit.libreoffice.org/43756 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-23loplugin:includeform: vclStephan Bergmann26-85/+85
Change-Id: Id7dea3917740aaf4db8dada5e2bea6e117d714ea
2017-10-23overload std::hash for OUString and OStringNoel Grandin6-26/+26
no need to explicitly specify it anymore Change-Id: I6ad9259cce77201fdd75152533f5151aae83e9ec Reviewed-on: https://gerrit.libreoffice.org/43567 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>