tdf#131553 a null pointer crashes Impress
When constructing a shape object from property EmbeddedObject,
it may return null object. Check the returned value first.
Change-Id: I9d7a2d9c0c919007ae2a34a0af86dea5639b1bd6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91024
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit df1be683ab935fe5362750360508ba69eb415afb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90959
Reviewed-by: Xisco FaulĂ <xiscofauli@libreoffice.org>
(cherry picked from commit 3142872bcba19b6c4d60b464fc9b14293860348d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91174
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index f1da411..cce8b9b 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -944,11 +944,14 @@ Reference< XShape > const & Shape::createAndInsert(
xSet->setPropertyValue("CLSID", uno::makeAny(name.GetHexName()));
uno::Reference<embed::XEmbeddedObject> const xObj(
xSet->getPropertyValue("EmbeddedObject"), uno::UNO_QUERY);
uno::Reference<uno::XInterface> const xMathModel(xObj->getComponent());
oox::FormulaImportBase *const pMagic(
dynamic_cast<oox::FormulaImportBase*>(xMathModel.get()));
assert(pMagic);
pMagic->readFormulaOoxml(*pMathXml);
if (xObj.is())
{
uno::Reference<uno::XInterface> const xMathModel(xObj->getComponent());
oox::FormulaImportBase *const pMagic(
dynamic_cast<oox::FormulaImportBase*>(xMathModel.get()));
assert(pMagic);
pMagic->readFormulaOoxml(*pMathXml);
}
}
const GraphicHelper& rGraphicHelper = rFilterBase.getGraphicHelper();