[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - svx/source
Tomaž Vajngerl (via logerrit)
logerrit at kemper.freedesktop.org
Wed Mar 25 15:32:40 UTC 2020
svx/source/svdraw/svdograf.cxx | 6 ++++++
1 file changed, 6 insertions(+)
New commits:
commit b639a1b6407a879e9da44a3b87bbcade838c8a24
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Wed Mar 25 10:28:53 2020 +0100
Commit: Tomaž Vajngerl <quikee at gmail.com>
CommitDate: Wed Mar 25 16:32:06 2020 +0100
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: https://gerrit.libreoffice.org/c/core/+/91034
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>
(cherry picked from commit 74ebc6dcbc85ce9f49d7451e08d71a41f794f569)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90955
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index 155ea15252b0..e24e1d8adebc 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -151,6 +151,12 @@ void SdrGrafObj::onGraphicChanged()
if (!rVectorGraphicDataPtr.get())
return;
+ // 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())
More information about the Libreoffice-commits
mailing list