[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - vcl/source

Jan Holesovsky (via logerrit) logerrit at kemper.freedesktop.org
Wed Mar 25 18:41:36 UTC 2020


 vcl/source/gdi/pdfwriter_impl.cxx |   10 +++++-----
 vcl/source/gdi/pdfwriter_impl.hxx |    2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

New commits:
commit bfe4c908d1a83337d0eeb0c08145908183793975
Author:     Jan Holesovsky <kendy at collabora.com>
AuthorDate: Tue Apr 2 23:07:59 2019 +0200
Commit:     Tomaž Vajngerl <quikee at gmail.com>
CommitDate: Wed Mar 25 19:41:04 2020 +0100

    Embedded PDF: It is a shared_ptr, no need to copy.
    
    Reviewed-on: https://gerrit.libreoffice.org/70208
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>
    Tested-by: Jan Holesovsky <kendy at collabora.com>
    (cherry picked from commit ff2c5e766517bbc23409f04335c418bb6fcad6eb)
    Reviewed-on: https://gerrit.libreoffice.org/77694
    Tested-by: Jenkins
    Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
    (cherry picked from commit 254fd20dd5cb8206c7eac19f11dec0369c12d366)
    
    Change-Id: Iedb31bbe0e81dc9568e84858d8d26eac03c47ffb
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91057
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 4557100b957e..8aec8544431a 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -4875,12 +4875,12 @@ bool PDFWriterImpl::emitEmbeddedFiles()
         aLine.append(rEmbeddedFile.m_nObject);
         aLine.append(" 0 obj\n");
         aLine.append("<< /Type /EmbeddedFile /Length ");
-        aLine.append(static_cast<sal_Int64>(rEmbeddedFile.m_aData.size()));
+        aLine.append(static_cast<sal_Int64>(rEmbeddedFile.m_pData->size()));
         aLine.append(" >>\nstream\n");
         CHECK_RETURN(writeBuffer(aLine.getStr(), aLine.getLength()));
         aLine.setLength(0);
 
-        CHECK_RETURN(writeBuffer(rEmbeddedFile.m_aData.data(), rEmbeddedFile.m_aData.size()));
+        CHECK_RETURN(writeBuffer(rEmbeddedFile.m_pData->data(), rEmbeddedFile.m_pData->size()));
 
         aLine.append("\nendstream\nendobj\n\n");
         CHECK_RETURN(writeBuffer(aLine.getStr(), aLine.getLength()));
@@ -9688,18 +9688,18 @@ void PDFWriterImpl::createEmbeddedFile(const Graphic& rGraphic, ReferenceXObject
     sal_uInt32 nLength = rGraphic.getVectorGraphicData()->getVectorGraphicDataArrayLength();
     auto const & rArray = rGraphic.getVectorGraphicData()->getVectorGraphicDataArray();
 
-    std::vector<sal_Int8> aPDFData(rArray.getConstArray(), rArray.getConstArray() + nLength);
+    auto pPDFData = std::make_shared<std::vector<sal_Int8>>(rArray.getConstArray(), rArray.getConstArray() + nLength);
 
     if (m_aContext.UseReferenceXObject)
     {
         // Store the original PDF data as an embedded file.
         m_aEmbeddedFiles.emplace_back();
         m_aEmbeddedFiles.back().m_nObject = createObject();
-        m_aEmbeddedFiles.back().m_aData = aPDFData;
+        m_aEmbeddedFiles.back().m_pData = pPDFData;
         rEmit.m_nEmbeddedObject = m_aEmbeddedFiles.back().m_nObject;
     }
     else
-        rEmit.m_aPDFData = aPDFData;
+        rEmit.m_aPDFData = *pPDFData;
 
     rEmit.m_nFormObject = createObject();
     rEmit.m_aPixelSize = rGraphic.GetPrefSize();
diff --git a/vcl/source/gdi/pdfwriter_impl.hxx b/vcl/source/gdi/pdfwriter_impl.hxx
index 18b0059fb69e..ca3b797d5b6f 100644
--- a/vcl/source/gdi/pdfwriter_impl.hxx
+++ b/vcl/source/gdi/pdfwriter_impl.hxx
@@ -424,7 +424,7 @@ public:
         /// ID of the file.
         sal_Int32 m_nObject;
         /// Contents of the file.
-        std::vector<sal_Int8> m_aData;
+        std::shared_ptr<std::vector<sal_Int8>> m_pData;
 
         PDFEmbeddedFile()
             : m_nObject(0)


More information about the Libreoffice-commits mailing list