path: root/svx/source/svdraw/svdograf.cxx
diff options
authorTomaž Vajngerl <>2020-03-25 10:28:53 +0100
committerTomaž Vajngerl <>2020-03-25 13:41:59 +0100
commit74ebc6dcbc85ce9f49d7451e08d71a41f794f569 (patch)
treef0fbcedc2166f1a9cdf1ee0ca6fc64841a2327be /svx/source/svdraw/svdograf.cxx
parentd591a682e46ff352f06a61c024ef661dd17f4ea4 (diff)
SdrGrafObj: don't check the primitive sequence for PDF to get metadata
For a PDF we create a BitmapPrimitive2D only, so it doesn't have any metadata in the primitive sequence itself, but a call to the getVectorGraphicData() method will render the PDF in order to create the BitmapPrimitive2D. This is a problem when we have multiple pages as we want them to be rendered on demand and not right away on load. This change short-circuits the gathering of metadata for PDF to prevent unnecessary early rendering of PDF pages. Change-Id: If5c286e88e72c4c0ba5083a98c7db707d207b6cf Reviewed-on: Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <>
Diffstat (limited to 'svx/source/svdraw/svdograf.cxx')
1 files changed, 6 insertions, 0 deletions
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index a924a9694a6e..0d298e27bd30 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -138,6 +138,12 @@ void SdrGrafObj::onGraphicChanged()
if (!rVectorGraphicDataPtr.get())
+ // Skip for PDF as it is only a bitmap primitive in a sequence and
+ // doesn't contain metadata. However getting the primitive sequence
+ // will also trigger a premature rendering of the PDF.
+ if (rVectorGraphicDataPtr->getVectorGraphicDataType() == VectorGraphicDataType::Pdf)
+ return;
const drawinglayer::primitive2d::Primitive2DContainer aSequence(rVectorGraphicDataPtr->getPrimitive2DSequence());
if (aSequence.empty())