summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2018-06-22 10:28:42 +0200
committerAshod Nakashian <ashnakash@gmail.com>2019-08-25 13:32:55 +0200
commit7fc0ddd9b725e3ea955bb06ef82f6a99de706210 (patch)
tree4a848d5d6cb0ea3d4462323f436031f2a8f7690d /vcl
parent9194f019afb0599d5e72476786fabfa996e07f20 (diff)
pdfium: Avoid unnecessary copying + some warning fixes.
Reviewed-on: https://gerrit.libreoffice.org/56285 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 4ab8dde71c8580bcf2b222ae2d1f68bbe339c754) Change-Id: I114fa6b2d3dda86c55eb245d31ca3a1019197ae9 Reviewed-on: https://gerrit.libreoffice.org/77689 Tested-by: Jenkins Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/filter/ipdf/pdfread.cxx12
1 files changed, 5 insertions, 7 deletions
diff --git a/vcl/source/filter/ipdf/pdfread.cxx b/vcl/source/filter/ipdf/pdfread.cxx
index d9c197bffd77..3687f301b2e9 100644
--- a/vcl/source/filter/ipdf/pdfread.cxx
+++ b/vcl/source/filter/ipdf/pdfread.cxx
@@ -283,19 +283,17 @@ size_t ImportPDFUnloaded(const OUString& rURL, std::vector<std::pair<Graphic, Si
return 0;
// Copy into PdfData
- uno::Sequence<sal_Int8> aPdfData;
aMemoryStream.Seek(STREAM_SEEK_TO_END);
- aPdfData = css::uno::Sequence<sal_Int8>(aMemoryStream.Tell());
+ auto pPdfData = std::make_shared<css::uno::Sequence<sal_Int8>>(aMemoryStream.Tell());
aMemoryStream.Seek(STREAM_SEEK_TO_BEGIN);
- aMemoryStream.ReadBytes(aPdfData.getArray(), aPdfData.getLength());
+ aMemoryStream.ReadBytes(pPdfData->getArray(), pPdfData->getLength());
// Prepare the link with the PDF stream.
- const size_t nGraphicContentSize = aPdfData.getLength();
+ const size_t nGraphicContentSize = pPdfData->getLength();
std::unique_ptr<sal_uInt8[]> pGraphicContent(new sal_uInt8[nGraphicContentSize]);
- memcpy(pGraphicContent.get(), aPdfData.get(), nGraphicContentSize);
+ memcpy(pGraphicContent.get(), pPdfData->get(), nGraphicContentSize);
std::shared_ptr<GfxLink> pGfxLink(std::make_shared<GfxLink>(
std::move(pGraphicContent), nGraphicContentSize, GfxLinkType::NativePdf));
- auto pPdfData = std::make_shared<uno::Sequence<sal_Int8>>(aPdfData);
FPDF_LIBRARY_CONFIG aConfig;
aConfig.version = 2;
@@ -306,7 +304,7 @@ size_t ImportPDFUnloaded(const OUString& rURL, std::vector<std::pair<Graphic, Si
// Load the buffer using pdfium.
FPDF_DOCUMENT pPdfDocument
- = FPDF_LoadMemDocument(aPdfData.getArray(), aPdfData.getLength(), /*password=*/nullptr);
+ = FPDF_LoadMemDocument(pPdfData->getArray(), pPdfData->getLength(), /*password=*/nullptr);
if (!pPdfDocument)
return 0;