summaryrefslogtreecommitdiff
path: root/formula
AgeCommit message (Collapse)Author
2018-10-14drop unnecessary vcl/group.hxx includesCaolán McNamara
Change-Id: I09d86ee7e156ac71d7c1f9fd58d43751037d2629 Reviewed-on: https://gerrit.libreoffice.org/61761 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-11Resolves: tdf#90698 catch list (1;2) of non-references as errorEike Rathke
Change-Id: Icc6f93bbf85df245ba332ce89791a1c8d266b1c6 Reviewed-on: https://gerrit.libreoffice.org/61639 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2018-10-10add ScTokenArray::Finalize() to explicitly reduce memory usageLuboš Luňák
Since ScTokenArray::Add() overallocates memory, make sure we do not keep such possibly large arrays. Since any copying of ScTokenArray implicitly finalizes as well, this is not a big problem right now, but then why needlessly do the copies? (next commit) Change-Id: I55398bcd8fb31f1be5a4b8e3f5a71b26649a7594 Reviewed-on: https://gerrit.libreoffice.org/60862 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2018-10-10avoid usually needless large allocation for formula token arrayLuboš Luňák
Change-Id: I855af060e1aeb91bccfc923ca567ad34d64be757 Reviewed-on: https://gerrit.libreoffice.org/60861 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2018-10-09Extend loplugin:redundantinline to catch inline functions w/o external linkageStephan Bergmann
...where "inline" (in its meaning of "this function can be defined in multiple translation units") thus doesn't make much sense. (As discussed in compilerplugins/clang/redundantinline.cxx, exempt such "static inline" functions in include files for now.) All the rewriting has been done automatically by the plugin, except for one instance in sw/source/ui/frmdlg/column.cxx that used to involve an #if), plus some subsequent solenv/clang-format/reformat-formatted-files. Change-Id: Ib8b996b651aeafc03bbdc8890faa05ed50517224 Reviewed-on: https://gerrit.libreoffice.org/61573 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-10-02make all notebooks scrollable and enable_popupCaolán McNamara
Change-Id: I16a6d556ca4c6b3f876dc0c8380d01fe3022209e Reviewed-on: https://gerrit.libreoffice.org/61195 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-28Remove unused ocIndirectXL and ocAddressXLEike Rathke
Separated implementation is gone since long. Change-Id: I78279f631c9205202af92ad8e248f9a1226b7a19 Reviewed-on: https://gerrit.libreoffice.org/61075 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2018-09-17New loplugin:externalStephan Bergmann
...warning about (for now only) functions and variables with external linkage that likely don't need it. The problems with moving entities into unnamed namespacs and breaking ADL (as alluded to in comments in compilerplugins/clang/external.cxx) are illustrated by the fact that while struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } returns 1, both moving just the struct S2 into an nunnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { namespace { struct S2: S1 { int f() { return 1; } }; } int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } as well as moving just the function f overload into an unnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; namespace { int f(S2 s) { return s.f(); } } } int main() { return f(N::S2()); } would each change the program to return 0 instead. Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c Reviewed-on: https://gerrit.libreoffice.org/60539 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-09-08loplugin:simplifyconstruct in filter..frameworkNoel Grandin
Change-Id: Ida4307a92dfb1dbd14da5a30b6ee1f0fd6a9455e Reviewed-on: https://gerrit.libreoffice.org/60194 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-29Replace find_if with proper quantifier algorithmsArkadiy Illarionov
Change-Id: Icc820a47ac891c358883f9c01224f676c58fdd11 Reviewed-on: https://gerrit.libreoffice.org/59744 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-16remove mempoolNoel Grandin
we've been using the normal memory allocator instead of the sal slab allocator ever since commit bc6a5d8e79e7d0e7d75ac107aa8e6aa275e434e9 Date: Wed Nov 15 16:52:44 2017 +0530 Disable custom allocator Change-Id: I3383962cedb85d56fbec695398901f6ff7057651 Reviewed-on: https://gerrit.libreoffice.org/58577 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-13loplugin:returnconstant in forms..fpickerNoel Grandin
Change-Id: I3f0bead636632682488cbe677fd7fee60350f04d Reviewed-on: https://gerrit.libreoffice.org/58876 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-01add operator+=(OUStringBuffer) method to OUStringNoel Grandin
to reduce needless object creation and copying some more And fix what looks like a bug in CSS hex color parsing at line 609 in sw/../parcss1.cxx that has been there since commit 7b0b5cdfeed656b279bc32cd929630d5fc25878b "initial import" Change-Id: Ibad42b23721a56493bd1edcd7165e6104494a5c3 Reviewed-on: https://gerrit.libreoffice.org/58357 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-31try to detect that a formula does not contain any implicit intersectionLuboš Luňák
Commit 67444cbe disabled svDoubleRef completely for OpenCL, which means many formulas weren't handled by OpenCL even if the implicit intersection problems are quite rare. This patch tries to detect formulas implicit intersections in formulas and if it's certain that a formula does not contain one, then it's ok to use OpenCL with svDoubleRef. The detection is done by having ScCompiler analyze each opcode call and its parameters, which should provide sufficient information to know if implicit intersection can take place or not. The extra compilation can be avoided by using OpenCL's compilation and doing the svDoubleRef conversion later on the RPN code, to be done later. This is opt-in, so if unsure don't do anything, if it turns out that some opcode needs special handling, it can be simply added. Change-Id: Iaa52fa7eb8b14dc8c2b92384a21e2ab8efe0ddd7 Reviewed-on: https://gerrit.libreoffice.org/57959 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2018-07-31protect against accessing before the start of pCode in FormulaCompilerLuboš Luňák
If the expression is bad, such as in sc/qa/.../sheet.fods, 'pCode - 1' may actually refer before the array of tokens, since nothing has been added yet. So make that element nullptr. This is a bit hackish, but checking in every place that pCode is valid seems tedious. Change-Id: Ia099a50583f60d93a2e20b1f7b5e44b0121a275b Reviewed-on: https://gerrit.libreoffice.org/58198 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2018-07-31even more implicit intersection computationLuboš Luňák
This extends 60c5ca1b87 to do implicit intersection while generating RPN code for even more opcodes. This will serve as a basis for making it possible to know when ScGroupTokenConverter can convert svDoubleRef to a matrix without the problems mentioned in its convert() method. Change-Id: I8dfeefc026418bd5644bd266ad94c31f670e811c Reviewed-on: https://gerrit.libreoffice.org/57958 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-07-30Add missing sal/log.hxx headersGabor Kelemen
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes. This commit adds missing headers to every file found by: grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG') to directories from filter to jvmfwk Change-Id: I2a73d63f2aaef5f26d7d08957daaa8a30b412ac5 Reviewed-on: https://gerrit.libreoffice.org/58204 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-07-18Do not force all string results to be recalculated if no style setEike Rathke
Results are forced to recalculate for cells with General format in case they need to inherit a format that then can be set. However, a General format will never lead to some other format being set for any string results and almost all string result cells will have General format because the string is already what is being displayed. So for formula cells with a string result available do not allow to use ScFormulaCell::SetNeedNumberFormat() forcing the need to recalculate. This popped up during intercepting for tdf#118735 when the formula cell containing a WEBSERVICE() call is set dirty, through CompileXMLHandler::operator()(...) if (pCell->NeedsNumberFormat()) pCell->SetDirtyVar(); Which again, as WEBSERVICE() has to be recalculated to populate the link manager, made it necessary to add that to ScRecalcMode::ONLOAD_LENIENT (which it should already had been before (when that was ONLOAD), but no harm in this case). Change-Id: I0dc2cdfe35c56d9843f0edd24a6d14e3de79f7ef Reviewed-on: https://gerrit.libreoffice.org/57700 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2018-07-18loplugin:mergeclasses merge IFormulaToken into FormulaTokenNoel Grandin
Change-Id: I5dbf870ff27f1039e24f4350787cf5bfc5f4ccaf Reviewed-on: https://gerrit.libreoffice.org/57487 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-13Rework FormulaTokenArray ScRecalcMode in preparation for tdf#94925Eike Rathke
Strictly order the exclusive bits by priority, let AddRecalcMode() handle all sets except forced ALWAYS or NORMAL. Introduce ONLOAD_LENIENT and ONLOAD_MUST splitting ONLOAD to be able to distinguish later during OOXML import. Change-Id: I188de2d53a2d54df32d24eeeb148c4f9e87e7cfc Reviewed-on: https://gerrit.libreoffice.org/57402 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2018-06-26More Implicit intersection computationDennis Francis
Do implicit intersection computation for for single parameter functions while generating RPN token array when the argument is a doubleref with relative row references. This optimization is not done when under forced array mode or matrix formula mode. The computation logic was already present in ScInterpreter, so factored it out and reused. This also adds unit tests to ensure correctness of II computation for various cases. Change-Id: I509c3f6f811aa036b1dc3296e8f68904b26c3c49 Reviewed-on: https://gerrit.libreoffice.org/53885 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2018-06-05tdf#42949 remove unused compheler includes ..Jochen Nitschke
and fix the fallout Change-Id: I15bc5d626f4d157cbc69a87392078b41e621d14e Reviewed-on: https://gerrit.libreoffice.org/54882 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-05-18tdf#116511: Drop questionable check for more keyboard inputTor Lillqvist
For some reason, on macOS, when this is being invoked through the shortcut, Application::AnyInput( VclInputFlags::KEYBOARD ) returns true, so the code thinks that there is more keyboard input and won't call UpdateTokenArray(), which sets m_pTokenArray. I think that optmisation is questionable, especially as the exact semantics of our event loop API, like Application::AnyInput(), is under-defined and probably can and will change in various minor ways when people work on improving it on the Mac (and perhaps other platforms, too). (The event loop etc certainly needs improvement on the Mac. Consider the "WindowServer grows to tens of gigabytes when running make check" issue which is closely related. Unfortunately nobody has come up with a simple fix for that yet, exactly because we use our event loop related APIs in so imaginative ways all over the code, and fixing one thing usually breaks another.) Change-Id: I865d46e5ee69609ad58bc915ff949e0f3602d8f5 Reviewed-on: https://gerrit.libreoffice.org/54448 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-17disable also ocStyle for Calc's threadingLuboš Luňák
The ocStyle token is only in the RPN tokens, the raw tokens array contains only ocName, so it's necessary to check also RPN tokens. Prevents a crash with tdf#91220/1 because of ScInterpreter::ScStyle() causing a SfxBroadcaster::Broadcast() call. Change-Id: I7fa04114b698918569014322c721751ab3d8c62f Reviewed-on: https://gerrit.libreoffice.org/54326 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-05-17loplugin:unusedfields in formula..registryNoel Grandin
Change-Id: I031654d8bb4f1788d364ef4f8d3bf7a05fadb148 Reviewed-on: https://gerrit.libreoffice.org/54454 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-14loplugin:useuniqueptr in FormulaTokenArrayNoel Grandin
Change-Id: I5716295d2f0c88c6daf0570941d5dd4c5ff03a33 Reviewed-on: https://gerrit.libreoffice.org/54168 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-28tdf#114479: compute implicit sum ranges for ocSumIf,ocAverageIf...Dennis Francis
and update the sum-range token in RPN array while creation of the RPN array itself. + Adds unit tests. + In ScParallelismTest unit test, enable threading in its setUp() method and restore the original setting in tearDown(). Change-Id: Iee9b7759210a82950181a418eb92766a6cf891fc Reviewed-on: https://gerrit.libreoffice.org/49465 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2018-04-14look for check buttons without underlinesCaolán McNamara
Change-Id: Ia9963190cf3dccbfa82951a3f2c0e29e00171429 Reviewed-on: https://gerrit.libreoffice.org/52847 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-11new loplugin:unusedvariablemoreNoel Grandin
collection of heuristics to look for local variables that are never read from i.e. do not contribute to the surrounding logic This is an expensive plugin, since it walks up the parent tree, so it is off by default. Change-Id: Ib8ba292241bd16adf299e8bba4502cb473513a06 Reviewed-on: https://gerrit.libreoffice.org/52450 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-03pass area param to DBG_UNHANDLED_EXCEPTIONNoel Grandin
and update sallogareas plugin to enforce this Change-Id: Id0782c8a1f619372e10d931aec3c6a4743a4c86a Reviewed-on: https://gerrit.libreoffice.org/52249 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-01remove unused processfactory.hxx includesJochen Nitschke
and fix fallout Change-Id: Id06bf31f2075111e426ba40c84c885ae70697bee Reviewed-on: https://gerrit.libreoffice.org/52206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-03-20Avoid creating a compiler for matrix check if there is no matrix supportEike Rathke
... as indicated by m_pBtnMatrix hidden for reportdesign. tdf#116468 cleansing. Change-Id: I1727dcc9875f0728805bac63cc6c1f1533394c6c
2018-03-20Resolves: tdf#116468 do not check array/matrix context for reportdesignEike Rathke
It doesn't have any, and worse, there's no currently active OpCode symbol map that could be used to create strings from tokens. Regression from commit bf1ffc64128f5b96d7c2fcc7adc81cbc25e232fd Date: Sun Jul 16 15:18:09 2017 +0200 FormulaDlg_Impl::UpdateValues: evaluate in force-array context if present Change-Id: I77c2035fdd0926f67fcc85e7090f30485b4e312c
2018-03-17Use for-range loops in embeddedobj, embedserv and formulaJulien Nabet
Change-Id: I56e1bace8ab8312524e681d3865a1a89d523812d Reviewed-on: https://gerrit.libreoffice.org/51459 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-03-06Resolves: tdf#116215 fewer array of references cases, tdf#58874 relatedEike Rathke
In particular if in any ForceArray context use the matrix result instead of the array of references list. Change-Id: I72328a690760637f6d31fadba447641c64711a67
2018-03-05Resolves: tdf#116188 set min version on all .ui files to 3.18Caolán McNamara
which is already the min for the runtime Change-Id: Ifebe099f1f94a36f65a31989689400327a823dcd Reviewed-on: https://gerrit.libreoffice.org/50776 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-01drop old tools/gen methods in accessibility..formulaNoel Grandin
Change-Id: I075e29173945200854f2ef8e420867871659766a Reviewed-on: https://gerrit.libreoffice.org/50446 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-26use less RGB_COLORDATANoel Grandin
part of removing ColorData Change-Id: If31b5b88545529863377e9a178f45f4516bf6cbb Reviewed-on: https://gerrit.libreoffice.org/50345 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-25convert all help responses to gtk's -11Caolán McNamara
and ok responses to gtk's -5 and cancel responses to gtk's -6 and close responses to gtk's -7 and yes responses to gtk's -8 and no responses to gtk's -9 Change-Id: Ia1a261a3a711ed9f5d8c0b0c639897c3064bb08c Reviewed-on: https://gerrit.libreoffice.org/50206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-23no point in a checkbutton having a responseCaolán McNamara
Change-Id: I2376336617d5ef324e03fa8a93137d3273dabc60 Reviewed-on: https://gerrit.libreoffice.org/50195 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-20Resolves: tdf#115879 treat NOT as the 1-parameter function that it isEike Rathke
... instead of a low precedence unary operator with an odd behaviour. This wasn't documented nor specified but maybe needed for old(est) binary file format compatibility. Generate an error for anything else than a context of a function with one argument. There might be some corner cases of documents where some old usage leads to error now, of which some may have worked by accident, but some not as intended. Related, the internal not exposed (but available) NEG was classified similar as a unary operator but corectly handled as function at all places. Classified as an ordinary 1-parameter function as well. Change-Id: I3d84a6382243c8d64313e37346f81c857e71be95 Reviewed-on: https://gerrit.libreoffice.org/50055 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2018-02-16Revert "loplugin:changetoolsgen in filter..framework" and reapply pluginNoel Grandin
because I (a) forgot to insert parentheses which changes the meaning of some expressions and (b) I now use the AdjustFoo calls when changing unary operations, which reads much better This reverts commit bf8a6cacd06d7c1961b5db8cc79ee4bbdb342e43. Change-Id: I4b5a9bf0c38ee1b57af91e6b7f184f1e8807f6f7 Reviewed-on: https://gerrit.libreoffice.org/49843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-14loplugin:changetoolsgen in filter..frameworkNoel Grandin
Change-Id: I622da8a0c096c74efd97326451c4576b230f0483 Reviewed-on: https://gerrit.libreoffice.org/49701 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-14Fix typosAndrea Gelmini
Change-Id: I76d50754a660e006e5913b89caa491cc21d6f9dc Reviewed-on: https://gerrit.libreoffice.org/49588 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2018-02-12Use FormulaCompiler::IsOpCodeJumpCommand() where applicableEike Rathke
Change-Id: I295e842da0192c21d318357caa574062085acd9d
2018-01-16Fix typosAndrea Gelmini
Change-Id: I078626eaa3155cc429320cc8c1532003b382b22a Reviewed-on: https://gerrit.libreoffice.org/47855 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-15More loplugin:cstylecast: formulaStephan Bergmann
Change-Id: I0a6f4eaf49282a6aa74b24ea62736065d1786f58
2018-01-15convert a<b?a:b to std::min(a,b)Noel Grandin
with something like git grep -nP '(.*)\s*<\s*(.*)\s*\?\s*\g1\s*:\s*\g2' -- *.?xx Change-Id: Id5078b35961847feb78a66204fdb7598ee63fd23 Note: we also convert a>b?b:a Reviewed-on: https://gerrit.libreoffice.org/47736 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-12More loplugin:cstylecast: formulaStephan Bergmann
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: I924954aefd471386805082f11a2d33db2746c49a
2017-12-22lokdialog: Allow switching language of some of the ResMgr's.Jan Holesovsky
This way, it is possible to have all the strings translated in dialogs even when different users use different languages. [It was already possible to have different languages previously, but not everything in the dialog has switched - like the buttons at the bottom of the dialogs etc.] Change-Id: I29a5ae6d31a370eec60397884200b684ec1bf5b9 Reviewed-on: https://gerrit.libreoffice.org/46417 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/46979 Tested-by: Jenkins <ci@libreoffice.org>