summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-24Clarify that css::awt::XDialog::execute is modal.Mike Kaganski
Change-Id: I80b45918672bcc464dd5b798f81071627fe95cc0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120884 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-24Update git submodulesRafael Lima
* Update helpcontent2 from branch 'master' to 6f4f219c04d4bb914cd2a44e782f14ac69d0abc8 - tdf#112057 Clarify the use of F2 in Calc In 01020000.xhp I updated the information about the F2 shortcut as discussed in the bug report. In 01060300.xhp I gave more details about the "Press Enter to switch to edit mode" option. Change-Id: Ifd554af943fb0bd0f9939c46a9393c7cb87c914e Reviewed-on: https://gerrit.libreoffice.org/c/help/+/120880 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-08-24Avoid overflowing floating-point -> integer conversionStephan Bergmann
...seen at <https://ci.libreoffice.org/job/lo_ubsan/2113/> with recently- introduced sw/qa/core/data/ooxml/fail/ofz37458-1.docx during CppunitTest_sw_filters_test, > /oox/source/vml/vmlformatting.cxx:202:38: runtime error: 6.40969e+23 is outside the range of representable values of type 'long' > #0 0x2b40e7a68a1e in oox::vml::ConversionHelper::decodeMeasureToEmu(oox::GraphicHelper const&, rtl::OUString const&, int, bool, bool) /oox/source/vml/vmlformatting.cxx:202:38 > #1 0x2b40e7a68cf1 in oox::vml::ConversionHelper::decodeMeasureToHmm(oox::GraphicHelper const&, rtl::OUString const&, int, bool, bool) /oox/source/vml/vmlformatting.cxx:208:47 > #2 0x2b40e7bc3bb7 in oox::vml::TextBoxContext::TextBoxContext(oox::core::ContextHandler2Helper const&, oox::vml::TextBox&, oox::AttributeList const&, oox::GraphicHelper const&) /oox/source/vml/vmltextboxcontext.cxx:190:39 > #3 0x2b40e7b3190f in oox::vml::ShapeContext::onCreateContext(int, oox::AttributeList const&) /oox/source/vml/vmlshapecontext.cxx:526:24 > #4 0x2b40e7b34ee9 in oox::vml::RectangleShapeContext::onCreateContext(int, oox::AttributeList const&) /oox/source/vml/vmlshapecontext.cxx:639:26 > #5 0x2b40e7b34f42 in non-virtual thunk to oox::vml::RectangleShapeContext::onCreateContext(int, oox::AttributeList const&) /oox/source/vml/vmlshapecontext.cxx > #6 0x2b40e5fdae26 in oox::core::ContextHandler2Helper::implCreateChildContext(int, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) /oox/source/core/contexthandler2.cxx:100:34 > #7 0x2b40e5fddffb in oox::core::ContextHandler2::createFastChildContext(int, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) /oox/source/core/contexthandler2.cxx:204:12 > #8 0x2b40e5fdfb32 in non-virtual thunk to oox::core::ContextHandler2::createFastChildContext(int, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) /oox/source/core/contexthandler2.cxx > #9 0x2b40fe645540 in writerfilter::ooxml::OOXMLFastContextHandlerWrapper::lcl_createFastChildContext(int, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) /writerfilter/source/ooxml/OOXMLFastContextHandler.cxx:2006:38 > #10 0x2b40fe60a6a4 in writerfilter::ooxml::OOXMLFastContextHandler::createFastChildContext(int, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) /writerfilter/source/ooxml/OOXMLFastContextHandler.cxx:254:21 > #11 0x2b40fe60a942 in non-virtual thunk to writerfilter::ooxml::OOXMLFastContextHandler::createFastChildContext(int, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) /writerfilter/source/ooxml/OOXMLFastContextHandler.cxx > #12 0x2b40ca28e9de in (anonymous namespace)::Entity::startElement((anonymous namespace)::Event const*) /sax/source/fastparser/fastparser.cxx:465:44 > #13 0x2b40ca2899ed in sax_fastparser::FastSaxParserImpl::callbackStartElement(unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, unsigned char const**) /sax/source/fastparser/fastparser.cxx:1306:21 Apparently lacking a general concept to report failure for too-large input values here, just silently do a saturating conversation, as seems to be the general approach for this kind of filter code. Change-Id: I4511a5dd63bdbc973d60a521bd3aef445dea3fb1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120941 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-24osl::Mutex->std::mutex in SfxGlobalEvents_ImplNoel Grandin
Change-Id: I4dae3225b961b663493ca4ea40b6bbec2439270f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120905 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-24osl::Mutex->std::mutex in SfxViewShell_ImplNoel Grandin
Change-Id: Ic053a56f51714d7bb63009747cd93e98fcb9c438 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120906 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-24Refactoring PatchAnshu
Change-Id: Ia1fbc8cbdb1e055273e0a9058e11b43b4e0ac62f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120849 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-24Resolves tdf#143633 - Image size wrong after disabling relative image widthHeiko Tietze
Adjustments added back, missing from 3cbecf3d0d9d68de286589e153ee31f8f709be03 Change-Id: Ia2f64fbf0792bd0916052c01e79b37d8820f8b0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120940 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2021-08-24Simplify caching in ConfigurationWrapperMike Kaganski
A follow-up to 48c2f0b4b157e133605c99549893521775ede4da This allows to not call createInstanceWithArguments repeatedly. Change-Id: I1893b9b1b0f952ae7c650bab4fb0dfe2f331a129 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120883 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2021-08-24implement explicit screen flushing also for Skia/MacLuboš Luňák
Change-Id: I29b9f54d24aece32949ac3ba916f1d6588cfd85f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120910 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-24initial Metal support for Mac/SkiaLuboš Luňák
This also required changing SkiaSalGraphicsImpl to have sk_app::WindowContext as an internal detail inaccessible to the base class, since the Mac implementations cannot use it as is. Change-Id: I2424f0b887c79ee91c3bd0f1477b0745f9540247 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120909 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-24build Skia with Metal supportLuboš Luňák
Change-Id: I7a9abde4101164af8c47433acfa35f4f9d3b3d04 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120907 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-24remove unnecessary separate SkSurface creating per render methodLuboš Luňák
SkiaHelper: :createSkSurface() already handles this. Change-Id: I2eba5ab7f53f212ab1d5c0b9366d07543ea97fc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120908 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-24don't print empty "HOST config (config.warn)" at the end of configureLuboš Luňák
Change-Id: Ifad159f99a68cf06426cdd0554df1b68d71cd3fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120915 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-24reduce cost of dynamic casting to SwFlyFrameNoel Grandin
which is often hot on doing document layout Change-Id: Ie78b6a6da4dba38b4ab682f4e1b9d86cc8171918 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120938 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-24tdf#143990: writer: default value for SetIncludeUpperLevels is 1Vasily Melenchuk
Same as in e08fba90 for tdf#143858: zero for SetIncludeUpperLevels has no practical sense, since actually this value is amount of levels to display. Default and minimal value is 1 (current level), zero used only in cases when there should be no numbering. Change-Id: I303386339a9e13944e11d0287c933523c7410b6b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120863 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-08-24vcl: create drawmode functionsChris Sherlock
Change-Id: I3cb0325dc16db84ad58de28aa9110e9c7a0b9697 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115372 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-24tdf#144022: fix bug id in unittestXisco Fauli
Change-Id: Ib7beef63e3828ca5d2cf3f9601897c6c396e89e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120937 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-24reduce skia realloc when drawing polygonsNoel Grandin
Change-Id: Ide65945b2baa01b78c954112cdbf35edc41e2f8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120916 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-24tdf#144025 Change LibreOffice to %PRODUCTNAMERoman Kuznetsov
Change-Id: Ia5bd44cb32818a71743f6a6e028cd9f0eba9aff1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120882 Tested-by: Jenkins Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
2021-08-24Introduce convertNarrowing to return smaller integer typesMike Kaganski
It will use compile-type constants to clamp input value, instead of clamping more expensive pre-sanitized output value. Change-Id: If78f8b1b4c99bd2f16b1d8a71872e89a0dddd8d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120874 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-24tdf#144032: fix STR_ASK_DELETE_LAYERJulien Nabet
Like this since initial import Change-Id: Ie1b475e594860480159d4dea0d401f33b28adab2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120929 Tested-by: Jenkins Reviewed-by: Sophie Gautier <sophi@libreoffice.org> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2021-08-24ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: I69b76dd2aed35fe2038e61eef343ee8d84f053f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120926 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: Ib020053b30ee7d7c0e335afac68f3a39e891cf2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120920 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: I768cec434ee20e6e46eb3993c873bed05b3c9cc3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120925 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: Iaecbdaa7a7ad61f8c657b0aa04fd30ee27699b72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120924 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: I364368cf4f5cb68c03bbff81f42002f56e3e44af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120923 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: I4e592de5ff830aa970b96993c79a5d957f57adfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120922 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: Icc09937594ddc97706a63bd11afe062a854ae8ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120921 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: Id8fee21b23eff594c6cc13c63ec004be5d015b35 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120900 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: Ia7ceb0278117df6e140c04232bcfd366fbba3dd0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120919 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24ofz: cgm Integer-overflowCaolán McNamara
Change-Id: I1cb1d5612f2b0b8999fed0d6c203ab24eedd4fe8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120898 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-24tdf#143979: sc_uicalc: Add unittestXisco Fauli
Change-Id: I0c51e69521a290bb13e39f592a45b9d94634ad3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120911 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-24cache access in ConfigurationWrapper (tdf#105575)Noel Grandin
If we repeatedly hit a config item like this: officecfg::Office::Common::Drawinglayer::MaximumPaperWidth::get() the stuff in configmgr because quite a bottleneck. So cache the access objects in ConfigurationWrapper. This change only affects the auto-generated code we use for the C++ officecfg:: configuration API Change-Id: Ie2adefc2319dfb362f1ef814690120e13abae6fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120866 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-24osl::Mutex->std::mutex in OFSStreamContainerNoel Grandin
Change-Id: I1402b66935c0229977357d0a6ec8ed0bc777de3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120904 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-24osl::Mutex->std::mutex in OFSInputStreamContainerNoel Grandin
Change-Id: Icd6ec9e6cd47fd0396cb70d6c63c435d7370b6fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120903 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-24tdf#143692 writerfilter CN: reapply lost OutlineLevelJustin Luth
The paragraph styles had already set their numbering-related properties before numbering.xml choses some styles to be assigned as Chapter Numbering. Part of this CN process in SW is to clear the inheriting styles of any inherited numbering properties (numId, listLevel, outlineLevel). So, we need to re-address outline levels after numbering has been imported, and fix up anything that has been cleared. [P.S. No need to do the same thing for listLevel yet, b/c LO does not support listLevel on paragraph styles in general.] Change-Id: Idfb4d150b94558b069dbb1a87c764460396b34d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120757 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org>
2021-08-24Karasa Jaga: tdf#143300 add diagonal borderRizal Muttaqin
Change-Id: I851814fede4bcec1f1139b7756f44cb66504c780 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120932 Tested-by: Jenkins Reviewed-by: Rizal Muttaqin <rizmut@libreoffice.org>
2021-08-24Sukapura: tdf#143300 add diagonal borderRizal Muttaqin
Change-Id: Ib2ce2e1385caeee9a312a3e513d4b4126cca5157 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120934 Tested-by: Jenkins Reviewed-by: Rizal Muttaqin <rizmut@libreoffice.org>
2021-08-24Blind fix for false -Werror=clobbered on lo_callgrind_linuxStephan Bergmann
...first seen at <https://ci.libreoffice.org//job/lo_callgrind_linux/11311/> > /home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/vcl/source/filter/png/PngImageReader.cxx: In function ‘bool {anonymous}::reader(SvStream&, BitmapEx&, GraphicFilterImportFlags, BitmapScopedWriteAccess*, AlphaScopedWriteAccess*)’: > /home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/vcl/source/filter/png/PngImageReader.cxx:101:16: error: variable ‘bSupportsBitmap32’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered] > const bool bSupportsBitmap32 = bFuzzing || ImplGetSVData()->mpDefInst->supportsBitmap32(); > ^~~~~~~~~~~~~~~~~ which reportedly uses > export GCC_VERSION=800 Change-Id: I9ef5e1e3a735c91f63dd9f5ced05e8acaa731923 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120868 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-24upload libmwaw 0.3.20David Tardon
Change-Id: Ia73117e06f843bcdd228da018fe3f34af6405653 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120621 Tested-by: Jenkins Reviewed-by: David Tardon <dtardon@redhat.com>
2021-08-24elementary: tdf#143300 add criss-cross borderRizal Muttaqin
Change-Id: I85460c019ba66a624ad408af67dd4e8f6c0698e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120930 Tested-by: Jenkins Reviewed-by: Rizal Muttaqin <rizmut@libreoffice.org>
2021-08-24Breeze: tdf#143300 add criss-cross borderRizal Muttaqin
Change-Id: Ie08e9b2eae2cf07a926767e144a69d5f4bba07e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120931 Tested-by: Jenkins Reviewed-by: Rizal Muttaqin <rizmut@libreoffice.org>
2021-08-24Colibre: tdf#143300 add criss-cross borderRizal Muttaqin
Change-Id: I4e76cb873c1489c72dac8fe84479a8e1c7dbcbe3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120862 Tested-by: Jenkins Reviewed-by: Rizal Muttaqin <rizmut@libreoffice.org>
2021-08-23rhbz#1996735 SwEditShell::GetCorrection can return nullCaolán McNamara
Though the exact steps to reproduce are unknown. From the text seen in the backtrace the language is possibly Finnish in which case voikko is probably the spellchecking backend in use. Change-Id: I9b3186e4699946235ccc161575bba7d4a3820565 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120893 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-23tdf#144031: fix description of STR_DESC_MODULE_LANGPACK_PT_BRJulien Nabet
Change-Id: If12d27fba3a13a1053ac4a0a1afb891f7c2c6069 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120912 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-08-23update some pchesCaolán McNamara
Change-Id: I3f823924b276cd18eddba74f108dd577970084db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120847 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-23comphelper : remove useless OContextHelper_ImplArnaud Versini
Change-Id: I41fc571695a64b432d6abf4979b99ef141a12b28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120842 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-23ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: Iea17e1d593f0003de3733722f619b10fbd90a303 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120899 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-23Removed duplicated includesAndrea Gelmini
Change-Id: I2f922fb107a6e077d005ad3459a8d39009b90d03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120897 Tested-by: Jenkins Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2021-08-23Make compilation for iOS get a bit furtherTor Lillqvist
Note that I did not try to refresh my memory of what anything of this actually *means*, I just did a couple of quick edits to get past compilation errors in vcl. The build now proceeds until "No rule to make target '/Volumes/TML13/lo/master-ios-debug/instdir_for_build/LibreOfficeDev.app/Contents/Frameworks/libgcc3_uno', needed by '/Volumes/TML13/lo/master-ios-debug/workdir_for_build/Executable/saxparser.run'." Change-Id: I42e2d60bf691f99631b2700e45921824144df2d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120892 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>