[Libreoffice-commits] core.git: include/svx svx/source

Aditya (via logerrit) logerrit at kemper.freedesktop.org
Mon Aug 31 18:10:45 UTC 2020


 include/svx/gallerybinaryengine.hxx         |   18 ++-
 include/svx/galtheme.hxx                    |    7 -
 svx/source/gallery2/gallery1.cxx            |    2 
 svx/source/gallery2/gallerybinaryengine.cxx |  129 ++++++++++++++++++++++++++--
 svx/source/gallery2/galtheme.cxx            |  102 +---------------------
 5 files changed, 142 insertions(+), 116 deletions(-)

New commits:
commit 9a7ab3527adef056291ec56c031ebbe3f471af66
Author:     Aditya <adityasahu1511 at gmail.com>
AuthorDate: Sat Aug 1 18:58:06 2020 +0530
Commit:     Tomaž Vajngerl <quikee at gmail.com>
CommitDate: Mon Aug 31 20:10:01 2020 +0200

    svx:Refactor WriteData() and move m_aDestDir member out of GalleryTheme
    
    Move m_aDestDir out of GalleryTheme because only GalleryBinaryEngine seems to be using it.
    Use SetDestDir() to delegate the member value to GalleryBinaryEngine.
    Refactor WriteData() so that it's called writeGalleryTheme()
    
    Change-Id: I5f6b6f0857695adeb102342e617ad341553abd14
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99940
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/include/svx/gallerybinaryengine.hxx b/include/svx/gallerybinaryengine.hxx
index cf56b98c8c47..eb9e0b291de1 100644
--- a/include/svx/gallerybinaryengine.hxx
+++ b/include/svx/gallerybinaryengine.hxx
@@ -38,6 +38,7 @@ class SotStorage;
 struct GalleryObject;
 class FmFormModel;
 class GalleryTheme;
+class GalleryThemeEntry;
 
 class SVXCORE_DLLPUBLIC GalleryBinaryEngine
 {
@@ -46,6 +47,8 @@ private:
     const GalleryStorageLocations& maGalleryStorageLocations;
     GalleryObjectCollection& mrGalleryObjectCollection;
     bool mbReadOnly;
+    OUString m_aDestDir;
+    bool m_bDestDirRelative;
 
 public:
     GalleryBinaryEngine(const GalleryStorageLocations& rGalleryStorageLocations,
@@ -54,6 +57,8 @@ public:
 
     void clearSotStorage();
 
+    void setDestDir(const OUString& rDestDir, bool bRelative);
+
     SAL_DLLPRIVATE void ImplCreateSvDrawStorage();
     SAL_DLLPRIVATE const tools::SvRef<SotStorage>& GetSvDrawStorage() const;
 
@@ -62,14 +67,12 @@ public:
     const INetURLObject& GetSdvURL() const { return maGalleryStorageLocations.GetSdvURL(); }
     const INetURLObject& GetStrURL() const { return maGalleryStorageLocations.GetStrURL(); }
 
-    SAL_DLLPRIVATE bool implWrite(const GalleryTheme& rTheme);
+    SAL_DLLPRIVATE bool implWrite(const GalleryTheme& rTheme, const GalleryThemeEntry* pThm);
 
-    void insertObject(const SgaObject& rObj, GalleryObject* pFoundEntry, OUString& rDestDir,
-                      sal_uInt32& rInsertPos);
+    void insertObject(const SgaObject& rObj, GalleryObject* pFoundEntry, sal_uInt32& rInsertPos);
 
     std::unique_ptr<SgaObject> implReadSgaObject(GalleryObject const* pEntry);
-    bool implWriteSgaObject(const SgaObject& rObj, sal_uInt32 nPos, GalleryObject* pExistentEntry,
-                            OUString& aDestDir);
+    bool implWriteSgaObject(const SgaObject& rObj, sal_uInt32 nPos, GalleryObject* pExistentEntry);
 
     bool readModel(const GalleryObject* pObject, SdrModel& rModel);
     SgaObjectSvDraw insertModel(const FmFormModel& rModel, const INetURLObject& rUserURL);
@@ -90,8 +93,9 @@ public:
     void updateTheme();
     static void insertFileOrDirURL(const INetURLObject& rFileOrDirURL,
                                    std::vector<INetURLObject>& rURLVector);
-};
 
-SvStream& WriteGalleryTheme(SvStream& rOut, const GalleryTheme& rTheme);
+    SvStream& writeGalleryTheme(SvStream& rOStm, const GalleryTheme& rTheme,
+                                const GalleryThemeEntry* pThm);
+};
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svx/galtheme.hxx b/include/svx/galtheme.hxx
index 4c3748c7b145..97da3322044f 100644
--- a/include/svx/galtheme.hxx
+++ b/include/svx/galtheme.hxx
@@ -22,7 +22,6 @@
 
 #include <svx/svxdllapi.h>
 #include <svx/galleryobjectcollection.hxx>
-#include <svx/gallerybinaryengine.hxx>
 
 #include <tools/debug.hxx>
 #include <tools/urlobj.hxx>
@@ -76,8 +75,6 @@ private:
 
     std::unique_ptr<GalleryBinaryEngine>     mpGalleryBinaryEngine;
     GalleryObjectCollection     maGalleryObjectCollection;
-    OUString                    m_aDestDir;
-    bool                        m_bDestDirRelative;
     Gallery*                    pParent;
     GalleryThemeEntry*          pThm;
     sal_uInt32                  mnThemeLockCount;
@@ -112,8 +109,7 @@ public:
     const OUString&             GetName() const;
 
     // used for building gallery themes during compilation:
-    SAL_DLLPRIVATE void         SetDestDir(const OUString& rDestDir, bool bRelative)
-                                { m_aDestDir = rDestDir; m_bDestDirRelative = bRelative; }
+    void                        SetDestDir(const OUString& rDestDir, bool bRelative);
 
     SAL_DLLPRIVATE const INetURLObject& GetThmURL() const;
     const INetURLObject&        GetSdgURL() const;
@@ -180,7 +176,6 @@ public:
 
 public:
 
-    SAL_DLLPRIVATE SvStream&    WriteData( SvStream& rOut ) const;
     SAL_DLLPRIVATE SvStream&    ReadData( SvStream& rIn );
     static void                 InsertAllThemes(weld::ComboBox& rListBox);
 
diff --git a/svx/source/gallery2/gallery1.cxx b/svx/source/gallery2/gallery1.cxx
index a7dc2bd4823f..600b8cc01c95 100644
--- a/svx/source/gallery2/gallery1.cxx
+++ b/svx/source/gallery2/gallery1.cxx
@@ -593,7 +593,7 @@ void Gallery::RenameTheme( const OUString& rOldName, const OUString& rNewName )
     {
         pThemeEntry->SetName( rNewName );
         if (pThm->pThm->IsModified())
-            if (!pThm->mpGalleryBinaryEngine->implWrite(*pThm))
+            if (!pThm->mpGalleryBinaryEngine->implWrite(*pThm, pThm->pThm))
                 pThm->ImplSetModified(false);
 
         Broadcast( GalleryHint( GalleryHintType::THEME_RENAMED, rOldName, pThm->GetName() ) );
diff --git a/svx/source/gallery2/gallerybinaryengine.cxx b/svx/source/gallery2/gallerybinaryengine.cxx
index 987a0ffb22e7..6831608d9506 100644
--- a/svx/source/gallery2/gallerybinaryengine.cxx
+++ b/svx/source/gallery2/gallerybinaryengine.cxx
@@ -22,6 +22,8 @@
 #include <galobj.hxx>
 #include <svx/gallerybinaryengine.hxx>
 #include <svx/galleryobjectcollection.hxx>
+#include <svx/gallery1.hxx>
+#include <osl/thread.hxx>
 #include "codec.hxx"
 #include "gallerydrawmodel.hxx"
 #include <vcl/cvtgrf.hxx>
@@ -51,12 +53,19 @@ GalleryBinaryEngine::GalleryBinaryEngine(const GalleryStorageLocations& rGallery
     : maGalleryStorageLocations(rGalleryStorageLocations)
     , mrGalleryObjectCollection(rGalleryObjectCollection)
     , mbReadOnly(bReadOnly)
+    , m_bDestDirRelative(false)
 {
     ImplCreateSvDrawStorage();
 }
 
 GalleryBinaryEngine::~GalleryBinaryEngine() { clearSotStorage(); }
 
+void GalleryBinaryEngine::setDestDir(const OUString& rDestDir, bool bRelative)
+{
+    m_aDestDir = rDestDir;
+    m_bDestDirRelative = bRelative;
+}
+
 void GalleryBinaryEngine::clearSotStorage() { m_aSvDrawStorageRef.clear(); }
 
 void GalleryBinaryEngine::ImplCreateSvDrawStorage()
@@ -85,7 +94,7 @@ const tools::SvRef<SotStorage>& GalleryBinaryEngine::GetSvDrawStorage() const
     return m_aSvDrawStorageRef;
 }
 
-bool GalleryBinaryEngine::implWrite(const GalleryTheme& rTheme)
+bool GalleryBinaryEngine::implWrite(const GalleryTheme& rTheme, const GalleryThemeEntry* pThm)
 {
     INetURLObject aPathURL(GetThmURL());
 
@@ -108,7 +117,7 @@ bool GalleryBinaryEngine::implWrite(const GalleryTheme& rTheme)
 
         if (pOStm)
         {
-            WriteGalleryTheme(*pOStm, rTheme);
+            writeGalleryTheme(*pOStm, rTheme, pThm);
             pOStm.reset();
             return true;
         }
@@ -119,7 +128,7 @@ bool GalleryBinaryEngine::implWrite(const GalleryTheme& rTheme)
 }
 
 void GalleryBinaryEngine::insertObject(const SgaObject& rObj, GalleryObject* pFoundEntry,
-                                       OUString& rDestDir, sal_uInt32& rInsertPos)
+                                       sal_uInt32& rInsertPos)
 {
     if (pFoundEntry)
     {
@@ -138,11 +147,11 @@ void GalleryBinaryEngine::insertObject(const SgaObject& rObj, GalleryObject* pFo
         else if (rObj.GetTitle() == "__<empty>__")
             const_cast<SgaObject&>(rObj).SetTitle("");
 
-        implWriteSgaObject(rObj, rInsertPos, &aNewEntry, rDestDir);
+        implWriteSgaObject(rObj, rInsertPos, &aNewEntry);
         pFoundEntry->nOffset = aNewEntry.nOffset;
     }
     else
-        implWriteSgaObject(rObj, rInsertPos, nullptr, rDestDir);
+        implWriteSgaObject(rObj, rInsertPos, nullptr);
 }
 
 std::unique_ptr<SgaObject> GalleryBinaryEngine::implReadSgaObject(GalleryObject const* pEntry)
@@ -201,7 +210,7 @@ std::unique_ptr<SgaObject> GalleryBinaryEngine::implReadSgaObject(GalleryObject
 }
 
 bool GalleryBinaryEngine::implWriteSgaObject(const SgaObject& rObj, sal_uInt32 nPos,
-                                             GalleryObject* pExistentEntry, OUString& aDestDir)
+                                             GalleryObject* pExistentEntry)
 {
     std::unique_ptr<SvStream> pOStm(::utl::UcbStreamHelper::CreateStream(
         GetSdgURL().GetMainURL(INetURLObject::DecodeMechanism::NONE), StreamMode::WRITE));
@@ -211,7 +220,7 @@ bool GalleryBinaryEngine::implWriteSgaObject(const SgaObject& rObj, sal_uInt32 n
     {
         const sal_uInt32 nOffset = pOStm->Seek(STREAM_SEEK_TO_END);
 
-        rObj.WriteData(*pOStm, aDestDir);
+        rObj.WriteData(*pOStm, m_aDestDir);
 
         if (!pOStm->GetError())
         {
@@ -262,6 +271,7 @@ bool GalleryBinaryEngine::readModel(const GalleryObject* pObject, SdrModel& rMod
     }
     return bRet;
 }
+
 SgaObjectSvDraw GalleryBinaryEngine::insertModel(const FmFormModel& rModel,
                                                  const INetURLObject& rUserURL)
 {
@@ -659,9 +669,110 @@ void GalleryBinaryEngine::insertFileOrDirURL(const INetURLObject& rFileOrDirURL,
     }
 }
 
-SvStream& WriteGalleryTheme(SvStream& rOut, const GalleryTheme& rTheme)
+SvStream& GalleryBinaryEngine::writeGalleryTheme(SvStream& rOStm, const GalleryTheme& rTheme,
+                                                 const GalleryThemeEntry* pThm)
 {
-    return rTheme.WriteData(rOut);
+    const INetURLObject rRelURL1 = rTheme.GetParent()->GetRelativeURL();
+    const INetURLObject rRelURL2 = rTheme.GetParent()->GetUserURL();
+    const sal_uInt32 rId = rTheme.GetId();
+    sal_uInt32 nCount = mrGalleryObjectCollection.size();
+    bool bRel;
+
+    rOStm.WriteUInt16(0x0004);
+    write_uInt16_lenPrefixed_uInt8s_FromOUString(rOStm, pThm->GetThemeName(),
+                                                 RTL_TEXTENCODING_UTF8);
+    rOStm.WriteUInt32(nCount).WriteUInt16(osl_getThreadTextEncoding());
+
+    for (sal_uInt32 i = 0; i < nCount; i++)
+    {
+        const GalleryObject* pObj = mrGalleryObjectCollection.getForPosition(i);
+        OUString aPath;
+
+        if (SgaObjKind::SvDraw == pObj->eObjKind)
+        {
+            aPath = GetSvDrawStreamNameFromURL(pObj->aURL);
+            bRel = false;
+        }
+        else
+        {
+            aPath = pObj->aURL.GetMainURL(INetURLObject::DecodeMechanism::NONE);
+            aPath = aPath.copy(
+                0, std::min(rRelURL1.GetMainURL(INetURLObject::DecodeMechanism::NONE).getLength(),
+                            aPath.getLength()));
+            bRel = aPath == rRelURL1.GetMainURL(INetURLObject::DecodeMechanism::NONE);
+
+            if (bRel
+                && (pObj->aURL.GetMainURL(INetURLObject::DecodeMechanism::NONE).getLength()
+                    > (rRelURL1.GetMainURL(INetURLObject::DecodeMechanism::NONE).getLength() + 1)))
+            {
+                aPath = pObj->aURL.GetMainURL(INetURLObject::DecodeMechanism::NONE);
+                aPath = aPath.copy(
+                    std::min(rRelURL1.GetMainURL(INetURLObject::DecodeMechanism::NONE).getLength(),
+                             aPath.getLength()));
+            }
+            else
+            {
+                aPath = pObj->aURL.GetMainURL(INetURLObject::DecodeMechanism::NONE);
+                aPath = aPath.copy(
+                    0,
+                    std::min(rRelURL2.GetMainURL(INetURLObject::DecodeMechanism::NONE).getLength(),
+                             aPath.getLength()));
+                bRel = aPath == rRelURL2.GetMainURL(INetURLObject::DecodeMechanism::NONE);
+
+                if (bRel
+                    && (pObj->aURL.GetMainURL(INetURLObject::DecodeMechanism::NONE).getLength()
+                        > (rRelURL2.GetMainURL(INetURLObject::DecodeMechanism::NONE).getLength()
+                           + 1)))
+                {
+                    aPath = pObj->aURL.GetMainURL(INetURLObject::DecodeMechanism::NONE);
+                    aPath = aPath.copy(std::min(
+                        rRelURL2.GetMainURL(INetURLObject::DecodeMechanism::NONE).getLength(),
+                        aPath.getLength()));
+                }
+                else
+                    aPath = pObj->aURL.GetMainURL(INetURLObject::DecodeMechanism::NONE);
+            }
+        }
+
+        if (!m_aDestDir.isEmpty())
+        {
+            bool aFound = aPath.indexOf(m_aDestDir) != -1;
+            aPath = aPath.replaceFirst(m_aDestDir, "");
+            if (aFound)
+                bRel = m_bDestDirRelative;
+            else
+                SAL_WARN("svx", "failed to replace destdir of '" << m_aDestDir << "' in '" << aPath
+                                                                 << "'");
+        }
+
+        rOStm.WriteBool(bRel);
+        write_uInt16_lenPrefixed_uInt8s_FromOUString(rOStm, aPath, RTL_TEXTENCODING_UTF8);
+        rOStm.WriteUInt32(pObj->nOffset).WriteUInt16(static_cast<sal_uInt16>(pObj->eObjKind));
+    }
+
+    // more recently, a 512-byte reserve buffer is written,
+    // to recognize them two sal_uInt32-Ids will be written.
+    rOStm.WriteUInt32(COMPAT_FORMAT('G', 'A', 'L', 'R'))
+        .WriteUInt32(COMPAT_FORMAT('E', 'S', 'R', 'V'));
+
+    const long nReservePos = rOStm.Tell();
+    std::unique_ptr<VersionCompat> pCompat(new VersionCompat(rOStm, StreamMode::WRITE, 2));
+
+    rOStm.WriteUInt32(rId).WriteBool(pThm->IsNameFromResource()); // From version 2 and up
+
+    pCompat.reset();
+
+    // Fill the rest of the buffer.
+    const long nRest = std::max(512L - (static_cast<long>(rOStm.Tell()) - nReservePos), 0L);
+
+    if (nRest)
+    {
+        std::unique_ptr<char[]> pReserve(new char[nRest]);
+        memset(pReserve.get(), 0, nRest);
+        rOStm.WriteBytes(pReserve.get(), nRest);
+    }
+
+    return rOStm;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/gallery2/galtheme.cxx b/svx/source/gallery2/galtheme.cxx
index 2bb71540cf29..1de5ff849b8e 100644
--- a/svx/source/gallery2/galtheme.cxx
+++ b/svx/source/gallery2/galtheme.cxx
@@ -61,8 +61,7 @@
 using namespace ::com::sun::star;
 
 GalleryTheme::GalleryTheme( Gallery* pGallery, GalleryThemeEntry* pThemeEntry )
-    : m_bDestDirRelative(false)
-    , pParent(pGallery)
+    : pParent(pGallery)
     , pThm(pThemeEntry)
     , mnThemeLockCount(0)
     , mnBroadcasterLockCount(0)
@@ -76,7 +75,7 @@ GalleryTheme::GalleryTheme( Gallery* pGallery, GalleryThemeEntry* pThemeEntry )
 GalleryTheme::~GalleryTheme()
 {
     if(pThm->IsModified())
-        if(!mpGalleryBinaryEngine->implWrite(*this))
+        if(!mpGalleryBinaryEngine->implWrite(*this, pThm))
             ImplSetModified(false);
 
     for (auto & pEntry : maGalleryObjectCollection.getObjectList())
@@ -88,6 +87,11 @@ GalleryTheme::~GalleryTheme()
     mpGalleryBinaryEngine->clearSotStorage();
 }
 
+void GalleryTheme::SetDestDir(const OUString& rDestDir, bool bRelative)
+{
+    mpGalleryBinaryEngine->setDestDir(rDestDir, bRelative);
+}
+
 std::unique_ptr<GalleryBinaryEngine> GalleryTheme::createGalleryBinaryEngine(bool bReadOnly)
 {
     std::unique_ptr<GalleryBinaryEngine> pGalleryBinaryEngine = std::make_unique<GalleryBinaryEngine>(pThm->getGalleryStorageLocations(), maGalleryObjectCollection, bReadOnly);
@@ -144,7 +148,7 @@ bool GalleryTheme::InsertObject(const SgaObject& rObj, sal_uInt32 nInsertPos)
         }
     }
 
-    mpGalleryBinaryEngine->insertObject(rObj, pFoundEntry, m_aDestDir, nInsertPos);
+    mpGalleryBinaryEngine->insertObject(rObj, pFoundEntry, nInsertPos);
 
     ImplSetModified(true);
     ImplBroadcast(pFoundEntry? iFoundPos: nInsertPos);
@@ -306,7 +310,7 @@ void GalleryTheme::Actualize( const Link<const INetURLObject&, void>& rActualize
     mpGalleryBinaryEngine->updateTheme();
     ImplSetModified( true );
     if (pThm->IsModified())
-        if (!mpGalleryBinaryEngine->implWrite(*this))
+        if (!mpGalleryBinaryEngine->implWrite(*this, pThm))
             ImplSetModified(false);
     UnlockBroadcaster();
 }
@@ -650,94 +654,6 @@ void GalleryTheme::CopyToClipboard(sal_uInt32 nPos)
     pTransferable->CopyToClipboard(GetSystemClipboard());
 }
 
-SvStream& GalleryTheme::WriteData( SvStream& rOStm ) const
-{
-    const INetURLObject aRelURL1( GetParent()->GetRelativeURL() );
-    const INetURLObject aRelURL2( GetParent()->GetUserURL() );
-    sal_uInt32          nCount = GetObjectCount();
-    bool                bRel;
-
-    rOStm.WriteUInt16( 0x0004 );
-    write_uInt16_lenPrefixed_uInt8s_FromOUString(rOStm, pThm->GetThemeName(), RTL_TEXTENCODING_UTF8);
-    rOStm.WriteUInt32( nCount ).WriteUInt16( osl_getThreadTextEncoding() );
-
-    for( sal_uInt32 i = 0; i < nCount; i++ )
-    {
-        const GalleryObject* pObj = maGalleryObjectCollection.getForPosition( i );
-        OUString               aPath;
-
-        if( SgaObjKind::SvDraw == pObj->eObjKind )
-        {
-            aPath = GetSvDrawStreamNameFromURL( pObj->aURL );
-            bRel = false;
-        }
-        else
-        {
-            aPath = pObj->aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE );
-            aPath = aPath.copy( 0, std::min(aRelURL1.GetMainURL( INetURLObject::DecodeMechanism::NONE ).getLength(), aPath.getLength()) );
-            bRel = aPath == aRelURL1.GetMainURL( INetURLObject::DecodeMechanism::NONE );
-
-            if( bRel && ( pObj->aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ).getLength() > ( aRelURL1.GetMainURL( INetURLObject::DecodeMechanism::NONE ).getLength() + 1 ) ) )
-            {
-                aPath = pObj->aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE );
-                aPath = aPath.copy( std::min(aRelURL1.GetMainURL( INetURLObject::DecodeMechanism::NONE ).getLength(), aPath.getLength()) );
-            }
-            else
-            {
-                aPath = pObj->aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE );
-                aPath = aPath.copy( 0, std::min(aRelURL2.GetMainURL( INetURLObject::DecodeMechanism::NONE ).getLength(), aPath.getLength()) );
-                bRel = aPath == aRelURL2.GetMainURL( INetURLObject::DecodeMechanism::NONE );
-
-                if( bRel && ( pObj->aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ).getLength() > ( aRelURL2.GetMainURL( INetURLObject::DecodeMechanism::NONE ).getLength() + 1 ) ) )
-                {
-                    aPath = pObj->aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE );
-                    aPath = aPath.copy( std::min(aRelURL2.GetMainURL( INetURLObject::DecodeMechanism::NONE ).getLength(), aPath.getLength()) );
-                }
-                else
-                    aPath = pObj->aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE );
-            }
-        }
-
-        if ( !m_aDestDir.isEmpty() )
-        {
-            bool aFound = aPath.indexOf(m_aDestDir) != -1;
-            aPath = aPath.replaceFirst(m_aDestDir, "");
-            if ( aFound )
-                bRel = m_bDestDirRelative;
-            else
-                SAL_WARN( "svx", "failed to replace destdir of '"
-                          << m_aDestDir << "' in '" << aPath << "'");
-        }
-
-        rOStm.WriteBool( bRel );
-        write_uInt16_lenPrefixed_uInt8s_FromOUString(rOStm, aPath, RTL_TEXTENCODING_UTF8);
-        rOStm.WriteUInt32( pObj->nOffset ).WriteUInt16( static_cast<sal_uInt16>(pObj->eObjKind) );
-    }
-
-    // more recently, a 512-byte reserve buffer is written,
-    // to recognize them two sal_uInt32-Ids will be written.
-    rOStm.WriteUInt32( COMPAT_FORMAT( 'G', 'A', 'L', 'R' ) ).WriteUInt32( COMPAT_FORMAT( 'E', 'S', 'R', 'V' ) );
-
-    const long      nReservePos = rOStm.Tell();
-    std::unique_ptr<VersionCompat> pCompat(new VersionCompat( rOStm, StreamMode::WRITE, 2 ));
-
-    rOStm.WriteUInt32( GetId() ).WriteBool( pThm->IsNameFromResource() ); // From version 2 and up
-
-    pCompat.reset();
-
-    // Fill the rest of the buffer.
-    const long  nRest = std::max( 512L - ( static_cast<long>(rOStm.Tell()) - nReservePos ), 0L );
-
-    if( nRest )
-    {
-        std::unique_ptr<char[]> pReserve(new char[ nRest ]);
-        memset( pReserve.get(), 0, nRest );
-        rOStm.WriteBytes(pReserve.get(), nRest);
-    }
-
-    return rOStm;
-}
-
 SvStream& GalleryTheme::ReadData( SvStream& rIStm )
 {
     sal_uInt32          nCount;


More information about the Libreoffice-commits mailing list