diff options
author | Caolán McNamara <caolanm@redhat.com> | 2022-11-26 16:43:57 +0000 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2022-11-28 12:15:38 +0100 |
commit | 083624c690a25cbb319b00718e6211597f31ff76 (patch) | |
tree | bb6b5d398c499d9c070308c090328ceb339b5f38 /oox | |
parent | eac36cde95002c89649c5de0e13864789618b075 (diff) |
crashtesting: failure to export various docs to xlsx/docx
e.g. ooo74880-2.ods since:
commit 3f70375cf160841b6140f5f1b2b79af3652897f8
Date: Fri Nov 18 12:06:59 2022 +0100
tdf#152069 tdf#108356 PPTX export: fix missing tile properties
bodge a workaround to not crash at least
Change-Id: I23e0fc4e0f7a2c6d0b182945e252470f2338da09
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143265
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/export/drawingml.cxx | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 53137523999a..de5c8e6bc299 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -1927,12 +1927,15 @@ void DrawingML::WriteXGraphicTile(uno::Reference<beans::XPropertySet> const& rXP Reference<drawing::XDrawPages> xDrawPages(xDPS->getDrawPages(), UNO_SET_THROW); // in this case, the size of the first slide is enough, because all slides are the same size Reference<XDrawPage> xDrawPage(xDrawPages->getByIndex(0), UNO_QUERY); - css::uno::Reference<css::beans::XPropertySet> mXPagePropSet(xDrawPage, UNO_QUERY); - double nPageWidth, nPageHeight; - mXPagePropSet->getPropertyValue("Width") >>= nPageWidth; - mXPagePropSet->getPropertyValue("Height") >>= nPageHeight; - nSizeX = nPageWidth / aOriginalSize.Width() * std::abs(nSizeX); - nSizeY = nPageHeight / aOriginalSize.Height() * std::abs(nSizeY); + css::uno::Reference<css::beans::XPropertySet> xPagePropSet(xDrawPage, UNO_QUERY); + if (xPagePropSet) + { + double nPageWidth, nPageHeight; + xPagePropSet->getPropertyValue("Width") >>= nPageWidth; + xPagePropSet->getPropertyValue("Height") >>= nPageHeight; + nSizeX = nPageWidth / aOriginalSize.Width() * std::abs(nSizeX); + nSizeY = nPageHeight / aOriginalSize.Height() * std::abs(nSizeY); + } } OUString sRectanglePoint; |