summaryrefslogtreecommitdiff
path: root/svl/source
AgeCommit message (Collapse)Author
2020-01-08Fix typoAndrea Gelmini
Change-Id: I01c4bfadfabce128f1e28b0c871da1722b865b6f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86377 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-01-08Drop duplicating range checkMike Kaganski
This is checked several lines below, with much stricter range. Change-Id: I3bfaf71f9e40dd1af089ed1ac238bc2939d0fc3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86392 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-12-23sal_Char->char in svtools..svlNoel Grandin
Change-Id: Ideb61209e8795865bce6e0b1d667b34f8a8db4d9 Reviewed-on: https://gerrit.libreoffice.org/85713 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-17Elide use of rtl_Instance (which is obsoleted by C++11 thread-safe statics)Stephan Bergmann
Change-Id: Ic7b78dffb2f8d1908f3263d88c5912aec2ebce8b Reviewed-on: https://gerrit.libreoffice.org/85263 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-12use covariant return type for SfxPoolItem::CloneCaolán McNamara
and can then remove some casting Change-Id: Id821c32ca2cbcdb7f57ef7a5fa1960042e630ffc Reviewed-on: https://gerrit.libreoffice.org/85022 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-11Fix typosAndrea Gelmini
Change-Id: I89ff5493c70d6e64ee6ab65b1b789a0db543c0aa Reviewed-on: https://gerrit.libreoffice.org/84917 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-12-03remove some useless comment linesNoel Grandin
which merely announce that the next declaration is a class Change-Id: Ifdb1398bcd99816b13e0b3769b46d0562bfbc1dc Reviewed-on: https://gerrit.libreoffice.org/84229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-02tdf#42949 Replace property_tre/ptree.hpp with fw declaration headerGabor Kelemen
Similarly to commit fb1b461208e7a2760fa1c018db08606a9b3e435d replace new instances of boost/property_tree/ptree.hpp with forward declaration only header, as suggested by IWYU This reduces includebloat from 28.5G to 22.6G and cold clean build time from real 68m54,192s user 947m28,508s to real 62m50,689s user 861m33,131s on my machine. Change-Id: I5530f1b4b1a46d9159c752ad5af9a408215baf40 Reviewed-on: https://gerrit.libreoffice.org/84175 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-28jsdialog: dump Sfx_Int__Items to JSONSzymon Kłos
Change-Id: I6a1d2847251b90f86457b552e5354f5e179e1627 Reviewed-on: https://gerrit.libreoffice.org/83977 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2019-11-28jsdialogs: send graphic items updatesSzymon Kłos
Change-Id: I57d05726f80115b92e7599a7d033bf1ea8f79695 Reviewed-on: https://gerrit.libreoffice.org/83955 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2019-11-27jsdialogs: dumpAsJSON for SfxItems with FillGradient exampleSzymon Kłos
Change-Id: I1b9303af6f52ad071074200bb630c587c8f611c1 Reviewed-on: https://gerrit.libreoffice.org/83875 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2019-11-26loplugin:external (clang-cl)Stephan Bergmann
Change-Id: Iab2231e90e55c7e583a2fafd08469ee01b02ce82 Reviewed-on: https://gerrit.libreoffice.org/83767 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-25Remove some redundantly user-declared copy ctors and assignment opsStephan Bergmann
...that trigger -Werror,-Wdeprecated-copy ("definition of implicit copy {constructor, assignment operator} for ... is deprecated beause it has a user-declared copy {assignment operator, constructor}") new in recent Clang 10 trunk (and which apparently warns about more cases then its GCC counterpart, for which we already adapted the code in the past, see e.g. the various "-Werror=deprecated-copy (GCC trunk towards GCC 9)" commits) Change-Id: Ie37bd820e6c0c05c74e1a862bb1d4ead5fb7cc9c Reviewed-on: https://gerrit.libreoffice.org/83698 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-24cppcheck: performing init in init list (sot/svl/svtools/svx)Julien Nabet
order had been changed in svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx so initialization list was fine Indeed mpActLineDistFld depends on mpLineDistAtMetricBox Change-Id: I974e68892fe7ab900774bbe912c51ec56ba4ee43 Reviewed-on: https://gerrit.libreoffice.org/83577 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-22Extend loplugin:external to warn about classesStephan Bergmann
...following up on 314f15bff08b76bf96acf99141776ef64d2f1355 "Extend loplugin:external to warn about enums". Cases where free functions were moved into an unnamed namespace along with a class, to not break ADL, are in: filter/source/svg/svgexport.cxx sc/source/filter/excel/xelink.cxx sc/source/filter/excel/xilink.cxx svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx All other free functions mentioning moved classes appear to be harmless and not give rise to (silent, even) ADL breakage. (One remaining TODO in compilerplugins/clang/external.cxx is that derived classes are not covered by computeAffectedTypes, even though they could also be affected by ADL-breakage--- but don't seem to be in any acutal case across the code base.) For friend declarations using elaborate type specifiers, like class C1 {}; class C2 { friend class C1; }; * If C2 (but not C1) is moved into an unnamed namespace, the friend declaration must be changed to not use an elaborate type specifier (i.e., "friend C1;"; see C++17 [namespace.memdef]/3: "If the name in a friend declaration is neither qualified nor a template-id and the declaration is a function or an elaborated-type-specifier, the lookup to determine whether the entity has been previously declared shall not consider any scopes outside the innermost enclosing namespace.") * If C1 (but not C2) is moved into an unnamed namespace, the friend declaration must be changed too, see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71882> "elaborated-type-specifier friend not looked up in unnamed namespace". Apart from that, to keep changes simple and mostly mechanical (which should help avoid regressions), out-of-line definitions of class members have been left in the enclosing (named) namespace. But explicit specializations of class templates had to be moved into the unnamed namespace to appease <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598> "explicit specialization of template from unnamed namespace using unqualified-id in enclosing namespace". Also, accompanying declarations (of e.g. typedefs or static variables) that could arguably be moved into the unnamed namespace too have been left alone. And in some cases, mention of affected types in blacklists in other loplugins needed to be adapted. And sc/qa/unit/mark_test.cxx uses a hack of including other .cxx, one of which is sc/source/core/data/segmenttree.cxx where e.g. ScFlatUInt16SegmentsImpl is not moved into an unnamed namespace (because it is declared in sc/inc/segmenttree.hxx), but its base ScFlatSegmentsImpl is. GCC warns about such combinations with enabled-by-default -Wsubobject-linkage, but "The compiler doesn’t give this warning for types defined in the main .C file, as those are unlikely to have multiple definitions." (<https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Warning-Options.html>) The warned-about classes also don't have multiple definitions in the given test, so disable the warning when including the .cxx. Change-Id: Ib694094c0d8168be68f8fe90dfd0acbb66a3f1e4 Reviewed-on: https://gerrit.libreoffice.org/83239 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-17Extend loplugin:external to warn about enumsStephan Bergmann
To mitigate the dangers of silently breaking ADL when moving enums into unnamed namespaces (see the commit message of 206b5b2661be37efdff3c6aedb6f248c4636be79 "New loplugin:external"), note all functions that are affected. (The plan is to extend loplugin:external further to also warn about classes and class templates, and the code to identify affected functions already takes that into account, so some parts of that code are not actually relevant for enums.) But it appears that none of the functions that are actually affected by the changes in this commit relied on being found through ADL, so no adaptions were necessary for them. (clang::DeclContext::collectAllContexts is non-const, which recursively means that External's Visit... functions must take non-const Decl*. Which required compilerplugins/clang/sharedvisitor/analyzer.cxx to be generalized to support such Visit... functions with non-const Decl* parameters.) Change-Id: Ia215291402bf850d43defdab3cff4db5b270d1bd Reviewed-on: https://gerrit.libreoffice.org/83001 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-08Resolves: tdf#128649 Do not insert duplicate LCID for currencyEike Rathke
Fallout from commit d0f8daa0980ba8e403b32006831657c5a0a4ea17 CommitDate: Wed Aug 22 19:03:27 2018 +0200 Resolves: tdf#73063 preserve and roundtrip LCID from/to Excel number formats Change-Id: I356f37624786d753370a272b0f1b54b17b5d206c Reviewed-on: https://gerrit.libreoffice.org/82249 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2019-11-03size some stringbuffer to prevent re-allocNoel Grandin
I started with 32 and kept doubling the size until the site did not need re-alloc, but clamped it at 512. Change-Id: I55fe36b31cd3d40f86e5729337a927cf920f2af6 Reviewed-on: https://gerrit.libreoffice.org/81960 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-02New loplugin:conditionalstringStephan Bergmann
Change-Id: I2eab990c15f845b44a3b598571aca361dadf9ff3 Reviewed-on: https://gerrit.libreoffice.org/81946 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-31Fix StringAdd::isCompileTimeConstantStephan Bergmann
...to find StringLiteral on the RHS of +=. Which revealed that the VisitCompoundStmt/checkForCompoundAssign logic needed to be fixed, too, so that s += side_effect(); s += "literal"; s += side_effect(); only gets combined to s += side_effect() + "literal"; s += side_effect(); and not all the way to s += side_effect() + "literal" + side_effect(); Change-Id: I432e3458b933a7d0ad6141c747b675cc8b0f0ba4 Reviewed-on: https://gerrit.libreoffice.org/81804 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-26size some stringbuffer to prevent re-allocNoel Grandin
I started with 32 and kept doubling the size until the site did not need re-alloc, but clamped it at 512 (e.g. in emfio/). Change-Id: Ib7caf35a1b7e42b0e4ed8aa812493449e3eefc8f Reviewed-on: https://gerrit.libreoffice.org/81540 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-21size some stringbuffer to prevent re-allocNoel Grandin
found by the simple expidient of putting asserts in the resize routine. Where an explicit const size is used, I started with 32 and kept doubling until that site did not need resizing anymore. Change-Id: I998787edc940d0a3ba23b5ac37131ab9ecd300f4 Reviewed-on: https://gerrit.libreoffice.org/81138 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-19OUStringChar must either take a sal_Unicode or an ASCII charStephan Bergmann
...so forbid anything else, to avoid issues like the one described in 766cdd869d7d983e9e171a3eae0629cb9a0206ff "This code wants to add the numeric SvxRotateMode value". Some remaining places that apparently do want to convert some numeric value to sal_Unicode have been augmented with an explicit cast. Change-Id: I6200a84e250e697bc88694bd71142ca1d9a13651 Reviewed-on: https://gerrit.libreoffice.org/81132 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-19Directly use OUStringBuffer::append overload taking a single sal_UnicodeStephan Bergmann
Change-Id: Ibccde3ec84b0ea4e4af74122013229a1793f5ca5 Reviewed-on: https://gerrit.libreoffice.org/81128 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-19We don't support leap seconds, but.. accept as input anywayEike Rathke
Change-Id: If83b42066ffd928c9832e60ea05382ffc42fed84 Reviewed-on: https://gerrit.libreoffice.org/81122 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2019-10-19Resolves: tdf#76441 accept two digit groups MM:SS input if formatted as suchEike Rathke
... instead of producing the usual HH:MM:00 Works on the formats MM:SS [MM]:SS MM:SS.00 [MM]:SS.00 and even MM:[SS] MM:[SS].00 although these two don't make much sense except of displaying leading 00:, but were always accepted. Change-Id: I1dbe147cafaa934efa1d86b187eaab61f0981fca Reviewed-on: https://gerrit.libreoffice.org/81117 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2019-10-18Input with subsequent part greater than 59 is not time or durationEike Rathke
Like 1:123 or 1:1:123 is text, but 123:1 or 123:1:1 is a duration. Change-Id: I4a59d9ed74ae3d4e4bee8a9b86ed0697a02c55e0 Reviewed-on: https://gerrit.libreoffice.org/81087 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2019-10-17Fix typoAndrea Gelmini
Change-Id: I179a20caf33e8e083e6e8f172d38f1201a0afd16 Reviewed-on: https://gerrit.libreoffice.org/80987 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-10-17Resolves: tdf#126773 Excel uses lowercase date and time format code keywordsEike Rathke
... so do the same when exporting to prevent surprises with iOS and OSX viewers or maybe other tools. This made it necessary to adapt ScExportTest::testExtendedLCIDXLSX() that checks calendar and date relevant exported format strings. Change-Id: I243d536e2a42562ec46375923facfa222ecbb29b Reviewed-on: https://gerrit.libreoffice.org/80920 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2019-10-17Remove some memset callsMike Kaganski
Replace them with default initialization or calloc Change-Id: I747f53c2ced2d0473fd5a5ede4f8520a0633dcc1 Reviewed-on: https://gerrit.libreoffice.org/80805 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-17Rename OUStringLiteral1 to OUStringCharStephan Bergmann
It started out as a wrapper around character literals, but has by now become a wrapper around arbitrary single characters. Besides updating the documentation, this change is a mechanical for i in $(git grep -Fl OUStringLiteral1); do sed -i -e s/OUStringLiteral1/OUStringChar/g "$i"; done Change-Id: I1b9eaa4b3fbc9025ce4a4bffea3db1c16188b76f Reviewed-on: https://gerrit.libreoffice.org/80892 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-06improve SfxPoolItem operator== implementationsNoel Grandin
(*) make them all call the superclass operator== (*) make the base class check which and typeid to ensure we are only comparing the safe subclasses together (*) remove a couple of operator== that were not doing anything useful Change-Id: Ia6234aed42df04157a5d6a323dc951916a9cb316 Reviewed-on: https://gerrit.libreoffice.org/80308 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-05simplify SfxAllEnumItemNoel Grandin
It is just a data carrier for an array of values for SID_ATTR_PATHNAME, it does not need associated enum logic. Change-Id: I547cd5580d02eb9c261feeb3545e31910a4ed644 Reviewed-on: https://gerrit.libreoffice.org/80253 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-03Following "Simplify a bit SfxAllEnumItem (svl)"Julien Nabet
As Mike suggested in: https://gerrit.libreoffice.org/#/c/80089/ Change-Id: Ie33cb1464907215ec23bf7be7cf5ce3fafdf6113 Reviewed-on: https://gerrit.libreoffice.org/80161 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-10-03Simplify a bit SfxAllEnumItem (svl)Julien Nabet
Make private GetValueByPos which is only used in svl/source/items/aeitem.cxx Remove "RemoveValue" method which is only used in InsertValue( sal_uInt16 nValue, const OUString &rValue ) It allows to call once "GetPosByValue" and the assert is useless since we're in the case: "else if ( nPos != USHRT_MAX )" I think we can more optimize by replacing vector by another container for pValues (type "SfxAllEnumValueArr"). Indeed, we insert and remove a lot in pValues in a specific position. Vector is not the best container for this There's also still the part "//FIXME: Optimisation: use binary search or SortArray" in GetPosByValue_ method Change-Id: I0cafea70e9d0361ef9a7b345ff770a9b888ef85b Reviewed-on: https://gerrit.libreoffice.org/80089 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-10-02Avoid std::vector inheritance for SfxAllEnumValueArrJulien Nabet
No need to inherit, just create a typedef Change-Id: Ifeabb90e640e10e590f793716c022f91850ae8b9 Reviewed-on: https://gerrit.libreoffice.org/79991 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-01loplugin:returnconstval (clang-cl)Stephan Bergmann
Change-Id: Ib3c3e32bd998ac7e29f45cc4ce511a863096c3b5 Reviewed-on: https://gerrit.libreoffice.org/79958 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-01loplugin:stringconstant (clang-cl)Stephan Bergmann
Change-Id: Id1a82cea4444255fdb693e126b7571a406094624 Reviewed-on: https://gerrit.libreoffice.org/79916 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-01loplugin:stringadd n sfx2..svlNoel Grandin
Change-Id: Iaf1bbe37449d4e0cfa817909d56d4bffe1e5a184 Reviewed-on: https://gerrit.libreoffice.org/79893 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-01Drop SfxItemIter::FirstItemMike Kaganski
It is always used right after the iterator is created, where simple GetCurItem gives the same value without reseting the position. Change-Id: I871dc7989b79e13f06436ef7928692645b5209f6 Reviewed-on: https://gerrit.libreoffice.org/79903 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-10-01Avoid redundant IsAtEnd: NextItem returns nullptr iif iterator is at endMike Kaganski
To keep the check efficient, split NextItem to inline and Impl parts Change-Id: Id5877a3c5bed73aac9c39c655b106a715cf888ea Reviewed-on: https://gerrit.libreoffice.org/79894 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-09-30Simplify iterating in SwRegHistory::MakeSetWhichIds a littleMike Kaganski
The IsAtEnd check is redundant here. Change-Id: Ie576d039ea3db5f98d9c8c3dfd7e77519fcc1e1d Reviewed-on: https://gerrit.libreoffice.org/79836 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-09-27Deduplicate O(U)StringNumber definitions; add toAsciiUpperCaseMike Kaganski
Change-Id: I00e7ce62940907b5f4efc2b7f23f355c3e43ed6b Reviewed-on: https://gerrit.libreoffice.org/79686 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-09-27loplugin:virtualdead in svlNoel Grandin
Change-Id: Idbb5d0a633f12d5813561a2ad8aed46ec6d67c48 Reviewed-on: https://gerrit.libreoffice.org/79639 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-27Resolves: tdf#127363 accept SEPT as SEP for SeptemberEike Rathke
Change-Id: Idc0fb30308ca32428125656dc8b2ce68e35c4770 Reviewed-on: https://gerrit.libreoffice.org/79655 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2019-09-26add property name when throwing css::uno::UnknownPropertyExceptionNoel Grandin
Change-Id: I17f06c9415b9d43b6d8896360e07216c2856367a Reviewed-on: https://gerrit.libreoffice.org/79627 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-24support O(U)String::number() for fast string concatenationLuboš Luňák
When I did the fast string concatenation, I didn't add any support for number(), which simply returned a O(U)String, and so it did the extra allocation/deallocation, although that could be avoided. In order to support this, number() now returns a special temporary return type, similarly to O(U)StringConcat, which allows delaying the concatenation the same way. Also similarly, the change of the return type in some cases requires explicit cast to the actual string type. Usage of OString::getStr() is so extensive in the codebase that I actually added it to the helper class, after that it's only relatively few cases. Change-Id: Iba6e158010e1e458089698c426803052b6f46031 Reviewed-on: https://gerrit.libreoffice.org/78873 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-09-23tdf#39593 use getUnoTunnelImplementationArkadiy Illarionov
Change-Id: I78eb67913a568c610e38e5002f914773c4906dfd Reviewed-on: https://gerrit.libreoffice.org/79350 Tested-by: Jenkins Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
2019-09-12Fix typosAndrea Gelmini
Change-Id: I7fdeba2d7407989a00befaad1c186cd6f132cb85 Reviewed-on: https://gerrit.libreoffice.org/78827 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-09-06tdf#39593 use isUnoTunnelIdArkadiy Illarionov
Adapt getUnoTunnelId methods where required: rename or make public. Change-Id: I0fd2120bf9f0ff1aa690329a65ff64a154c89315 Reviewed-on: https://gerrit.libreoffice.org/78680 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>