diff --git a/slideshow/source/engine/slide/slideimpl.cxx b/slideshow/source/engine/slide/slideimpl.cxx index 6bb05bb874f6..ff796e011bda 100644 --- a/slideshow/source/engine/slide/slideimpl.cxx +++ b/slideshow/source/engine/slide/slideimpl.cxx @@ -620,6 +620,36 @@ void LOKSlideRenderer::renderDrawPageImpl(VirtualDevice& rDevice) aJsonWriter.put("index", mnDPLayerIndex); bool bDoRendering = false; + + std::shared_ptr pMasterShapeImporter = std::make_shared(mxMasterPage, mxDrawPage, mxDrawPagesSupplier, mrContext, 0, true); + + ShapeSharedPtr const& rBGShape(pMasterShapeImporter->importBackgroundShape()); + if (rBGShape) + { + bDoRendering = true; + mpLayerManager->addShape(rBGShape); + } + + while (!pMasterShapeImporter->isImportDone()) + { + ShapeSharedPtr const& rShape(pMasterShapeImporter->importShape()); + if (!rShape) + continue; + + rShape->setIsForeground(false); + + uno::Reference xShape = rShape->getXShape(); + if (xShape.is()) + { + + mpLayerManager->addShape(rShape); + bDoRendering = true; + } + } + + auto nCurrCount = static_cast(pMasterShapeImporter->getImportedShapesCount()); + mpShapesFunctor = std::make_shared(mxDrawPage, mxDrawPage, mxDrawPagesSupplier, mrContext, nCurrCount, false); + while (!mpShapesFunctor->isImportDone()) { ShapeSharedPtr const& rShape(mpShapesFunctor->importShape());