summaryrefslogtreecommitdiff
path: root/svx
AgeCommit message (Collapse)Author
2024-05-17tdf#161019 tdf#159846 spreadsheet border renderingNoel Grandin
regression from commit e27d4cc31e04be4c47b5085dfa2363ee45457e8a Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Mon Jun 19 12:23:55 2023 +0200 tdf#150534 reduce the memory consumption of cells when calculating Change-Id: Id8b52a3a0880bbb6a7aff28f55bcd57cb1cae048 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167617 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 6f8a73a379d97829080367b21d54f9b5fab781c9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167682 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-05-17svx: move lok's NotifyKit in the ruler to the SvxRuler super-classTomaž Vajngerl
We want to make the ruler work in other components and also not only for horizontal orientation. For this we want the NotifyKit already in the SvxRuler, which is used by all rulers. This change moves the functionality to the from SwCommentRuler to SvxRuler and partially reverts the previous attempt as changing the ruler instance for vertical ruelr to SwCommentRuler caused test failures. Change-Id: Ie618b5dc5b936f9dc53d09b624eefdbc506d98f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167740 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-05-15tdf#156484 svx,sw: fix visibility of shapes in header/footerMichael Stahl
Similar to commit ae132145ff42a95dc24fb124847c04af4b8c8dab, also forward IsVisible() and IsPrintable() from SdrVirtObj to its real object; evidently the properties aren't copied when creating SdrVirtObj but there is no reason for that to have these properties independent. This triggers an assert in VOCOfDrawVirtObj::createPrimitive2DSequence() because that is called during layout from getObjectRange(); the assert was added in commit ae3ec0d53a22ae5d2b7fb244a6056d0627b71873 and intended for painting, but this isn't painting, and it's not easily possible to detect if the function is called during painting, so remove the assert. (cherry picked from commit da7e1d686a586fa93b1e96adb3d837ea3ae59b98) Change-Id: Id2a04a5d07f43b86eb9c524b30ba74ecaf6a95c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167658 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-05-09svx: a11y check entry box - provide accessible name and descriptionTomaž Vajngerl
If the accessible name and description is not set in the .ui file, the code will look into help for accessible description, which will always return an empty string as the widgets are added dynamically. Searching in help takes some time (2ms), which can add up and is "felt" in accessibility check sidebar in online when the documents has a lot of accessibility issues (it can add up to seconds). To avoid this cost and for better accessibility info, it is better to provide some general description for this widgets. Change-Id: I91c5a091781532068c517be937d225fc9345dc5c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167346 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2024-05-08svx: Avoid divide by 0Xisco Fauli
See https://crashreport.libreoffice.org/stats/signature/SvxRuler::UpdateTabs() Change-Id: Ie08c54d1a1b40bcc42da9f81c893f496fff433a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166626 Tested-by: Jenkins Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 90548039f09d4bc773bf6879a62d544adfa175db) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166674 Reviewed-by: Aron Budea <aron.budea@collabora.com> (cherry picked from commit 35c0afcf0a0428670e3e1998f222440b504ae0c8)
2024-05-06always check return of SfxViewFrame::Current()Caolán McNamara
Change-Id: If35fe03c775aec12ec534d02d58596aebcec764f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166985 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit caf719c59c6dc8db2b6a0eab8d47760277f112a3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166902 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit cd7ee2410a42da4b702cb32f57e038ba7d9f0854)
2024-04-15Related: tdf#160056 this can be staticCaolán McNamara
Change-Id: I1172854a1bf00e74adbe350c54e4e98ea38b0b35 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165072 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 49189bb8823adc6a76d3f33b34c02d6a640df96a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165746 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit ba5cbbccefb5d55e19ed928cf900f8afb8337e9d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166120 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-04-15editeng: use text scaling that better mimics MSO text scalingTomaž Vajngerl
Implement text scaling algorithm that is similar to MSO text scaling for text boxes for the compatibility purpuse, so that the Impress slides better match how the PP slides are layed out. This also moves the implementation into EditEng, where it is possible to better control how searching for the best scaling factor is performed without doing additional irrelevant work or trigger invalidations that should not be triggered. An additional change is that the paragraph with no content at the end are ignored, and are not taken into account when determining the height of the content. This is done for compatibility reasons. Fix horizontal spacing of tabs - the spacing shouldn't be scaled and the tab shouldn't include the space at the beginning of the line. Change-Id: Ie37fa67f1cf300e915a4ebaef2a7f968bf6c5744 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165441 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit f61ea135430d7b4a1fac7de1e57a1314fbb1b49e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166087 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-04-15svx: read font and spacing scaling from oox, add bot as UNO prop.Tomaž Vajngerl
- Read spacing in oox. - Add spacing scaling as a property. - Rename property "TextFitToSizeScale" to "TextFitToSizeFontScale" - Add property "TextFitToSizeSpacingScale" Change-Id: Icde575e55a3146169d86bb538a57adcf1fa228a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165633 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit db64748f1ee771da9da857f95601b9e08b577166) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165709 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-04-15tdf#160176 svx: Reset help text when form control has noneMichael Weghorn
In `FmFormPage::RequestHelp`, also call `Help::ShowQuickHelp`/`Help::ShowBalloon` when the help text is empty, as that is the way to unset the help text/remove the tooltip again, see `ImplShowHelpWindow` in `vcl/source/app/help.cxx`: For the case of non-native tooltips (e.g. the gen VCL plugin on Linux), the `bRemoveHelp = true` code path is relevant. For qt5/qt6/kf5/kf6 which use native tooltips, the call to pParent->ImplGetFrame()->ShowTooltip(rHelpText, rHelpArea) further up sets the `QtFrame`'s `m_aTooltipText` member to an empty string, which prevents showing the outdated help text for the `QEvent::ToolTip` event in `QtWidget::handleEvent`. Change-Id: Iceb2424d9c72ae46333a718c677629122e517f11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166006 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 6347c89711903834cc9188abda5d5a253053b789) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165933 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-04-15editeng: combine scaling parameters into ScalingParameters structTomaž Vajngerl
This makes dealing with scaling parameters much clearer and it improves readability. Change-Id: I327b6530ef5587972cc0075390704754a33563a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165632 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 4bdbf0f898e8642b0a34195537d1516cc8eee819) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165712 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-04-07tdf#160421 flip lights too for flipped extruded shapesRegina Henschel
If an extruded custom shape is mirrored, the lights in the scene are also mirrored. This should not happen. MS Office keeps the light direction in relation to the camera direction for binary files and pptx files with legacy camera. We should do the same, especially since the UI does not allow the user to set the light directions at arbitrary angles. Otherwise the shape receives only ambient light. Change-Id: I091d78c581b3d247f8b0680cd57654e3df330cdd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165562 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> (cherry picked from commit 9761d4239de6398d4f6ecf08356f2ce18e502a04) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165614 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-07tdf#160444 check device's owner window is a nullptrPatrick Luby
Since commit 563f7077f1dbce31ff95ee8d2e8d17b629693db1, the device's owner window gets deleted before this object is deleted. Change-Id: I15dc8db60e5520c2f0e73a9a117f25af15845caf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165637 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> (cherry picked from commit d034036a049d6dcc8dc62a8e44c1e4befcaa25b0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165623 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-04-04a11y: Enable accessibility for comboboxes in sidebarAntony
* Updated window.cxx:Window::DumpAsPropertyTree to include accessibility data in the output * Added accessibility info to comboboxes inside sidebarstylespanel.ui & sidebartextpanel.ui * Reverted unwanted ui version change introduced due to glade Change-Id: If6833c9f42dbab90fb6277ed932062d86cf53416 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165782 Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2024-03-27tdf#158773 reduce cost of TextProperties::NotifyNoel Grandin
Shaves 30% off the load time here, by re-arranging the logic so we do th expensive dynamic_cast less often Change-Id: If7a1605994e620dbdb61010506c624cc738359a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164466 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 3b784236d7c3bf386deeeadcf79d9e9b289bf991) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165112 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-03-11LOK: send LOK_CALLBACK_SHAPE_INNER_TEXT info on empty textbox initializationPranam Lashkari
Change-Id: I8bc003f89147c145ec4b1f9a91b6fe82da9f14be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164663 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-11LOK: don't send empty callback for LOK LOK_CALLBACK_SHAPE_INNER_TEXTPranam Lashkari
Change-Id: Id0a3a84fcadc1ab216b856760fd168b23bed2827 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164660 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-11Document Colors do not show any color in the PaletteCaolán McNamara
same is true for "Theme Colors", a problem since: commit 4ccc2f0e3f45c9d78f74b1848851bedf71f7382d Date: Fri Mar 1 22:11:14 2024 +0200 cool#8327 use tools::JsonWriter for theme colors Change-Id: Ibaab5df197bd8005037e066181e8a50bdda5ceda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164658 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164664 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-11lok: use locale units in dialogs and sidebarJaume Pujantell
When oepning tha same doucment with different locales, the dailogs and sidebar show units (cm/inch) of the first locale (or the locale used in preloading, en-US) for all the views. This patch changes the units used according to the LOK locale. Change-Id: I3d515873bde661f2d9048bbc405843e83134cca7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164589 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-08LOK: send inner text boundry information of shapes/textbox on changePranam Lashkari
instroduced new callback for LOK LOK_CALLBACK_SHAPE_INNER_TEXT now if innert text is changed LOK is instantly updated about new textarea Change-Id: I0a88e1dd77556e47f14359ce0a98701a327aceda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164547 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-07GLib-GObject-CRITICAL **: gsignal.c:2778: instance X has no handler with id YCaolán McNamara
Change-Id: I4fbbd4af0ed1605874e2ef2694ecda0a9e107a07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164370 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-03-07Resolves: tdf#159879 Crash when closing "3D View" dialogCaolán McNamara
Change-Id: I9c116007afe9cea97b597933ad8483dce25c3707 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164274 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-03-07Resolves: tdf#159696 Small capitals with 'Individual words' underliningCaolán McNamara
Change-Id: I79af3f74ef384f734273b00bddbcfed8952a3ad2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164275 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-03-07tdf#159865 Revert "tdf#136905 NBB: let ValueSetWithTextControl set optimal"Justin Luth
...height This reverts my 24.2 commit 1876feb8a8805b2f80537e2828c152ccbdf67fe2. Change-Id: I70c3668393a13992f9ce489e86b07860218445b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163954 Tested-by: Justin Luth <jluth@mail.com> Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163961 Tested-by: Jenkins
2024-03-06Moving parts of readonly checks from model to view.Gökay Şatır
Summary for what's done with this commit: init.cxx * Add guards for modify commands. viewsh: * Add "IsCurrentLokViewReadOnly" for ease of use. unocitm: * Add guard for modify comamnds dispatch.cxx * Implement readonlyview. objmisc: * Modify IsReadOnlyUI check for LokReadOnly view. svx.sdi: * Disable TableChangeCurrentBorderPosition command for readOnly views. sw-editwin: * Treat mouse moves as readonly when the view is LokReadOnly. gridwin: * For autofilter. impedit2, inputhdl: * For text input. svdedtc: * For sdr object dragging. Signed-off-by: Gökay Şatır <gokaysatir@gmail.com> Change-Id: I71fc353976256bce22042bbb6042ee464b65cc13 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163731 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com>
2024-03-04cool#8327 use tools::JsonWriter for theme colorsNoel Grandin
Change-Id: Iebca3781910f9e28100258da8266d51f673f31d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164250 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-03-01LOK: send inner text boundry information of shapes/textboxPranam Lashkari
Sends inner rectangle boundry info as part of LOK_CALLBACK_GRAPHIC_SELECTION message Change-Id: Idc51e807bec01711c8a4326e3193127f0b2cd765 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163982 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-29svx: fix default locale language stringHenry Castro
1) Open a spreadsheet 2) Format a cell with a currency. Example USD $ English (USA) 3) Open the sidebar if it's not opened already 4) Click in the currency dropdown 5) Observe: there is $ (Default) Expected result: USD $ English (USA) Default Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: Idf7f4174557e59cb6f5ffd65c25572322a5794ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164109 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-28sc: put used currencies on top of the currency pop-up listTomaž Vajngerl
The list of currencies is fairly long and there is no easy way to search the list, so to make it easier to concurrently fint the desired currency, put the currencies that are used in the document on top of the list. This adds a DocumentModelAccessor class, which is used to access parts of the document model from other modules throught the SfxObjectShell. Change-Id: I81a180b674ae69b373b0422f363678e8bab37194 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162638 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 79da840fac78f11c156801c43d8b79d6d4f32869) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162755 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 2cac2ee38445c19c9281f54c2b961bbc9149cc00) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164088 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-28Revert "store last five MRU currencies in the currency drop-down"Tomaž Vajngerl
This reverts commit dc6b93011cc5435f367666e43e354c6ab97bbc90. Change-Id: Ia56cb2e906303d6d59061df3e21954306bee2298 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162754 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164087 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-23Drop some wrapper methods from SvtOptionsDrawinglayerGabor Kelemen
just use the wrapped officecfg methods instead of: IsSolidDragCreate IsRenderDecoratedTextDirect IsRenderSimpleTextDirect GetQuadratic3DRenderLimit GetQuadraticFormControlRenderLimit IsTransparentSelection Change-Id: Ie0f3ec0f8fdbbf08facfff1a372c666c8a0c8979 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160654 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163792 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-16tdf#159666 Crash when table and line object are selected at the same timeNoel Grandin
before commit e3077168072452fb8f1c0a8afb2992877cb96d1c Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Thu Jun 17 09:49:37 2021 +0200 loplugin:finalclasses the cast in const SdrEdgeObj* pEdge = static_cast<SdrEdgeObj*>(m_pObj); would incorrectly cast a SdrTableObj, but it happened to do nothing problematic. After the above commit, the vtable layout changed and it started crashing. Work around it by use dynamic_cast and ignoring objects that are not SdrEdgeObj. Change-Id: Ibe03d4935b8eeb182e037b1648d841e26fa23ed4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163242 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit bac09f76fd903c109b591a7bc15883e5653715ee) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163187 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-02-16tdf#156993 use correct count for ViewContactOfSdrPageRegina Henschel
The count is used as upper limit in a for-loop in ViewObjectContact::getPrimitive2DSequenceSubHierarchy(). That calls ViewContactOfSdrPage::GetViewContact(). With the wrong count the case 10 was not reached and thus the helplines were not drawn. Change-Id: If606bbb718b1f78a874862217d1e03b02287e848 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163192 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> (cherry picked from commit 56517d8a38459f5a9e67327c1ac0dc8bcd07bcb8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163180 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-02-14tdf#159704 svx: preserve text when getting grpahic from sdrobjectJaume Pujantell
When getting a Graphic object from an SdrGrafObj with text the text was lost. Change-Id: I3a8316511e502b832b65dc72faebaf8c00923c38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163293 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit d0241915eba35c9dc0cc42f322df798a270db00f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163343
2024-02-07use ViewShell DOCCOLOR when availableCaolán McNamara
for fallback, continue to warn if the terminal fallback gets used, but fill stub it to return the application DOCCOLOR Change-Id: I2bf3a1c6c6adb58811fd36c70f93932de246f10a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162782 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 3a48ad467b7fbf9cbdfff1222e08c02b0ff5d544) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162852 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 2bdc2d6327058d31bfd2ddb08f5c01ea9755bd66) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163077 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-07restore original Outliner background after getting transferrableCaolán McNamara
Inserting a chart into a dark mode writer will initially incorrectly show auto color text as dark while is is in edit mode, then once you leave edit mode the auto text is correctly white. But it looks like that apparently correct white color is itself a bug from the copy clipboard transferrable setting a good background and then not restoring it afterwards. Change-Id: Ib019eb494b623bdda22019d587210db2c39987f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162566 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit be2ea4ebe3f969ee9ac4c8da40cdbe6d8f011e58) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162851 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 53655a310737c6653ba8350d57104d0df8890976) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163076 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-29svx a11y: Notify listeners when disposing shapeMichael Weghorn
In `AccessibleShape::disposing`, call the same method of the base class, i.e. `AccessibleContextBase::disposing`, not `AccessibleContextBase::dispose`. The code was moved from `AccessibleShape::dispose` to `AccessibleShape::disposing` in commit f11b151dc08ccfcb7e78bfd9a24c77670942ea63 Date: Tue Apr 30 13:30:10 2002 +0000 #95585# Moved code from dispose to disposing(). and it seems likely that adjusting the base class method to call was just forgotten/missed. This resulted in the accessible getting disposed without listeners getting notified (since `AccessibleContextBase::disposing` takes care of that). This resulted in a crash for the following scenario with the qt6 VCL plugin when the Orca screen reader is running: 1) start LO Writer 2) click on the "Basic shapes" toolbar button 3) click + drag to insert a shape into the document 4) click somewhere else Backtrace is below. `AtSpiAdaptor::handleMessage` (frame #12 in the bt) checks whether the accessible is valid and returns early otherwise. But since listeners were not notified when the object got disposed, `QtAccessibleEventListener::disposing` wasn't called, which would have taken care of invalidating the `QtAccessibleWidget`, in which case this early return would have happened instead of the crash. This behaves as expected now with this commit in place. stderr output of the crash: terminate called after throwing an instance of 'com::sun::star::lang::DisposedException' Backtrace: Thread 1 received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007f5bc1ca815f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x00007f5bc1c5a472 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f5bc1c444b2 in __GI_abort () at ./stdlib/abort.c:79 #4 0x00007f5bc18a09eb in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x00007f5bc18affca in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x00007f5bc18b0035 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #7 0x00007f5bc18b0288 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #8 0x00007f5bc02b4550 in accessibility::AccessibleContextBase::ThrowIfDisposed() (this=0x55a6fc7e7da0) at .../libreoffice/editeng/source/accessibility/AccessibleContextBase.cxx:494 #9 0x00007f5bbcf7d54e in accessibility::AccessibleShape::getAccessibleName() (this=0x55a6fc7e7da0) at .../libreoffice/svx/source/accessibility/AccessibleShape.cxx:280 #10 0x00007f5bada62107 in QtAccessibleWidget::text(QAccessible::Text) const (this=0x55a6fad4fe20, text=QAccessible::Name) at .../libreoffice/vcl/qt6/../qt5/QtAccessibleWidget.cxx:362 #11 0x00007f5bac5552d2 in AtSpiAdaptor::accessibleInterface(QAccessibleInterface*, QString const&, QDBusMessage const&, QDBusConnection const&) (this=0x55a6f769bce0, interface=0x55a6fad4fe20, function=..., message=..., connection=...) at .../qt5/qtbase/src/gui/accessible/linux/atspiadaptor.cpp:1545 #12 0x00007f5bac553cce in AtSpiAdaptor::handleMessage(QDBusMessage const&, QDBusConnection const&) (this=0x55a6f769bce0, message=..., connection=...) at .../qt5/qtbase/src/gui/accessible/linux/atspiadaptor.cpp:1432 #13 0x00007f5baaa88943 in QDBusConnectionPrivate::activateObject(QDBusConnectionPrivate::ObjectTreeNode&, QDBusMessage const&, int) (this=0x7f5ba4010f30, node=..., msg=..., pathStartPos=27) at .../qt5/qtbase/src/dbus/qdbusintegrator.cpp:1448 #14 0x00007f5baaa89628 in QDBusActivateObjectEvent::placeMetaCall(QObject*) (this=0x7f5ba4026980) at .../qt5/qtbase/src/dbus/qdbusintegrator.cpp:1604 #15 0x00007f5bad044013 in QObject::event(QEvent*) (this=0x55a6f769bce0, e=0x7f5ba4026980) at .../qt5/qtbase/src/corelib/kernel/qobject.cpp:1447 #16 0x00007f5bab1a6986 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x55a6f631c3e0, receiver=0x55a6f769bce0, e=0x7f5ba4026980) at .../qt5/qtbase/src/widgets/kernel/qapplication.cpp:3298 #17 0x00007f5bab1a6797 in QApplication::notify(QObject*, QEvent*) (this=0x55a6f63bb840, receiver=0x55a6f769bce0, e=0x7f5ba4026980) at .../qt5/qtbase/src/widgets/kernel/qapplication.cpp:3249 #18 0x00007f5bacfb0212 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55a6f769bce0, event=0x7f5ba4026980) at .../qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1138 #19 0x00007f5bacfb0dbb in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=0x55a6f769bce0, event=0x7f5ba4026980) at .../qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1581 #20 0x00007f5bacfb2474 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55a6f6337df0) at .../qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1936 #21 0x00007f5bacfb160e in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=0) at .../qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1770 #22 0x00007f5bad43441c in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55a6f642f710) at .../qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:244 #23 0x00007f5bb47111f4 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #24 0x00007f5bb4714317 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #25 0x00007f5bb4714930 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #26 0x00007f5bad434cb1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55a6f6435dc0, flags=...) at .../qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:394 #27 0x00007f5baa929e18 in QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55a6f6435dc0, flags=...) at .../qt5/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:96 #28 0x00007f5badad8bea in QtInstance::ImplYield(bool, bool) (this=0x55a6f6442080, bWait=true, bHandleAllCurrentEvents=false) at .../libreoffice/vcl/qt6/../qt5/QtInstance.cxx:424 #29 0x00007f5badad8d13 in QtInstance::DoYield(bool, bool) (this=0x55a6f6442080, bWait=true, bHandleAllCurrentEvents=false) at .../libreoffice/vcl/qt6/../qt5/QtInstance.cxx:435 #30 0x00007f5bb8734af6 in ImplYield(bool, bool) (i_bWait=true, i_bAllEvents=false) at .../libreoffice/vcl/source/app/svapp.cxx:386 #31 0x00007f5bb8735894 in Application::Yield() () at .../libreoffice/vcl/source/app/svapp.cxx:470 #32 0x00007f5bb87347e9 in Application::Execute() () at .../libreoffice/vcl/source/app/svapp.cxx:364 #33 0x00007f5bc1e36e66 in desktop::Desktop::Main() (this=0x7ffc62160570) at .../libreoffice/desktop/source/app/app.cxx:1614 #34 0x00007f5bb8753ca0 in ImplSVMain() () at .../libreoffice/vcl/source/app/svmain.cxx:229 #35 0x00007f5bb8753fb5 in SVMain() () at .../libreoffice/vcl/source/app/svmain.cxx:261 #36 0x00007f5bc1ea4101 in soffice_main() () at .../libreoffice/desktop/source/app/sofficemain.cxx:94 #37 0x000055a6f46e19d4 in sal_main () at .../libreoffice/desktop/source/app/main.c:51 #38 0x000055a6f46e19ba in main (argc=2, argv=0x7ffc62160798) at .../libreoffice/desktop/source/app/main.c:49 Change-Id: Iae8a9ff61df99094b4cd73da895d1f6ac850c0c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162493 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 77874b76c50d704b26543175375dcfa65c4fd620) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162537 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-23cool#7769 Reduce unnecessary invalidations on calc saveCaolán McNamara
https://github.com/CollaboraOnline/online/issues/7769 Reduce unnecessary invalidations. Don't invalidate windows if layer visibility didn't really change. Change-Id: Ic2abd78d60aea2e8676c8e56608cf51e941f5918 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162481 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-20tdf#158277 sw_redlinehide: fix find bar stringMichael Stahl
FindTextFieldControl::SetTextToSelected_Impl() uses the XModel to retrieve the currently selected text, which naturally includes deleted text. Instead, use view API XTextViewCursor to get the visible selected text. (regression from commit ae2232366f00e08c1855667cfaf068269ac9af2f) Change-Id: I302ea90a7407af6e3ae7b62a2f373dccb33b8275 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162245 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 1f540c49e68b28a360ee5c32d60ab1bed3837eec) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162229 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-01-16chart2: Make automatic area coloring for charts work for tiled renderingofftkp
Charts now get a temporary colored applied to the area property set if their color was set to automatic, which is done by default in tiled rendering mode. Change-Id: Ic6bd19b97d2a0ffa2a1ad516cfa202e2f4921db7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160659 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-01-15Send document colors with lok callbackSzymon Kłos
First step for publishing any palette for LOK. Let's start with Document colors (colors used in the document) which can be extracted similar to theme colors from SfxViewShell. Modify generateJSON function so it appends palette into existing ptree/JSON. In the next step we can make it more generic so it will be able to send any palette managed by PaletteManager. Change-Id: Ibb56690af6dfd59ee232e88b28e7a3d312d0e16c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161798 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 0460be8848b0ce02c07183e41dd7137ac3b94164) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161941 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2024-01-15sc: announce theme colors with lok callbackSzymon Kłos
As it is done already for Writer. Unfortunately cannot move the code from afterCallbackRegistered to base class in sfx2 as it is not linked to svx which is needed to generate JSON. So at least share generation and sending part in ThemeColorChangerCommon. Signed-off-by: Szymon Kłos <szymon.klos@collabora.com> Change-Id: Icbf681230bd4c49698c47d852a0862620d93bcec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161771 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161927 Tested-by: Jenkins
2024-01-10UnoApiTest::loadFromURL -> UnoApiTest::loadFromFileMike Kaganski
The old name was misleading (it doesn't take an URL, but a filename); also, now it's easier to grep for it - doesn't get mixed with vcl::graphic::loadFromURL. Change-Id: Ib88d2194200a6a54d2326971e0306ba39f0c7025 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161578 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161888 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-12-22Remove DeleteItemOnIdlexArmin Le Grand (allotropia)
There are some CrashReports in 7.6 which have DeleteItemOnIdle on the stack, but there is nothing reproducable. So I took a look... I first thought it's a MCGR regression, due to classes on the stack. But the Item involved is just random, can happen with any Item. Then I thought it may have to do with ITEM refactorings, but it happens with DeleteItemOnIdle involved, so also not the case. I already saw DeleteItemOnIdle when doing these and qualified as 'hack' in the way. already It is only on Windows and DeleteItemOnIdle is involved. This again (took a deeper look now) is an old hack to keep an SfxPoolItem 'alive' for some 'time'. For that, it triggers an async reschedule which then deletes the Item when being called. If the Item will be used after that is pure coincidence - seems to work in most cases. It seems as if for Windows the timing slightly changed for some scenarios, so a reschedule is too early. This can happen with this hack anytime. DeleteItemOnIdle is used in scenarios where SfxPoolItem* is e.g. returned, but is *not* anchored, so e.g. not member of an SfxItemSet. Or in short: Lifetime is not safe. DeleteItemOnIdle exists since 1st import, but was changed to AsyncEvent ca. 4 months ago (see 57145acf9ec47c23e307b7a5c0029d21d937cc35), so that may have caused it. It is possible that these errors happen on Windows since then. Before something more complicated was used to delete it late, but surely also not really safe. Due to ITEM refactor I have the knowledge/tooling to solve this. It will not be a 1-5 lines fix, but it is a hack and in the way for further ITEM refactor anyways. What we have nowadays is a SfxPoolItemHolder -> it's like an SfxItemSet for a single Item. It safely holds/ controls the lifetime of an SfxPoolItem. It is already used in quite some places. It helps to solve many hacks, also the ones putting Items directly to the Pool - due to there never was an alternative for that. In principle the ItemPool/ItemSet/Item paradigm was never complete without SfxPoolItemHolder. Thus I started to fix that (and remove that hack for good, sooo many changes over the years, sigh), but as said is not straightforward. Will have to change retvals of involved stuff to SfxPoolItemHolder - it's just two pointers and designed to be copied (one is a Pool, needed to cleanup when destructing). CopyConstruct/destroy just counts the RefCnt up/down, so cheap. 1st version compiling, let's check on gerrit... Corrected one error in QueryState for securitypage, also added some security features/asserts. Change-Id: Ida49fd35ca88ead84b11d93e18b978cb9e395090 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161083 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com> (cherry picked from commit 789a737ac92c4f2b0eb9820b99c43cc8253c8b29) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161158 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-12-22tdf#156820 Fix crash in custom color pickerNoel Grandin
which requires (*) keeping ColorPicker alive during the runAsync in ColorPicker::startExecuteModal (*) keeping the PaletteManager alive during the ExecuteAsync in PaletteManager::PopupCOlorPicker Noting that MattK debugged the cause of this. Change-Id: I07efe8e6514f8882b1347c79c6150578c234bb9d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161054 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 78ccae0d42d168f845ddbd7cb694d80dfb04f84d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161161 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-12-15tdf#105844 package: remove root document from manifest ...Michael Stahl
... for ODF wholesome encryption. 4.3 <manifest:file-entry> For directories, the manifest file should contain a <manifest:file-entry> element only if a directory contains a document or a sub document. Because the "encrypted-package" is not a document but a package, we should probably omit the file-entry for the root document. ZipPackage::writeTempFile() always generates the root document becuase it's needed for GPG properties, and ManifestExport filters it out. A bit tricky to implement, because there isn't a clean distinction between the package and the root document/storage in the package module, in particular there's no other place than the root storage to store the MediaType property. Change-Id: Id7e72a64e2faa074dce80cd5fefb2fa189e2e3ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160717 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 91f35f22f0447769c08ca89e27a39b40df18fffa) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160792
2023-12-13tdf#158636 Wrong border behaviour when cells are mergedNoel Grandin
regression from commit e27d4cc31e04be4c47b5085dfa2363ee45457e8a Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Mon Jun 19 12:23:55 2023 +0200 tdf#150534 reduce the memory consumption of cells when calculating where I accidentally removed a line in lclSetMergedRange that set mbMergedOrg to true. And then the singlevalfields plugin spotted that mbMergedOrig had only value, and so it got removed in: commit 884a2cd39a7c0433a5bbbf4e83e2a9b16cdad71c Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Fri Jun 30 15:36:51 2023 +0200 loplugin:singlevalfields Change-Id: I9fc057f63e14df36c73d25c421ddbec72f7723e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160619 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit f625928c346109216045d08b4dda30dbada005f5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160640 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-12-12tdf#158320 restore Live Preview for font hoveringCaolán McNamara
a) announce Preview when a 'selected' font preview is requested b) move EndPreview to when the dropdown popups down, rather than listen to ESC Change-Id: I68916769150c23c0ec18aae084cdf3cafb7352a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160609 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 30d3a5743961274d360e683eccd2756257ed5e7a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160588 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2023-12-12tdf#158421 use correct awt:Gradient2 in Chart listsArmin Le Grand (allotropia)
Change-Id: I5fa02c2660d59981f540cde8bd6eaaaaddb30e65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160463 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com> (cherry picked from commit 6c986c718630ab21e6d9b5d353ddf1534e2dda41) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160573 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-12-08cid#1546475 std::swap COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: Ic5325a85deb370db2091e5ce5209b6408a8652bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160444 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>