sw/source/filter/xml/wrtxml.cxx |   42 ++++++++++++++++++++--------------------
 sw/source/filter/xml/wrtxml.hxx |    2 -
 2 files changed, 23 insertions(+), 21 deletions(-)

New commits:
commit 082394a8ff125a7a7a009f60a0002d1d4c2ca7fb
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue Sep 28 11:33:33 2021 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Tue Sep 28 17:24:19 2021 +0200

    make this look less like it grew organically and more like it was planned
    
    Change-Id: I944ca80e93db04389fb6fe1f88ffc70d067b78b3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122768
    Tested-by: Jenkins
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sw/source/filter/xml/wrtxml.cxx b/sw/source/filter/xml/wrtxml.cxx
index aa969c9d40e6..1bbee52b77aa 100644
--- a/sw/source/filter/xml/wrtxml.cxx
+++ b/sw/source/filter/xml/wrtxml.cxx
@@ -81,9 +81,27 @@ SwXMLWriter::~SwXMLWriter()
 {
 }
 
-ErrCode SwXMLWriter::Write_(const uno::Reference < task::XStatusIndicator >& 
xStatusIndicator,
-                            const OUString& aDocHierarchicalName, bool 
bNoEmbDS)
+ErrCode SwXMLWriter::Write_(const SfxItemSet* pMediumItemSet)
 {
+    uno::Reference<task::XStatusIndicator> xStatusIndicator;
+    OUString aDocHierarchicalName;
+    bool bNoEmbDS(false);
+
+    if (pMediumItemSet)
+    {
+        const SfxUnoAnyItem* pStatusBarItem = static_cast<const 
SfxUnoAnyItem*>(
+           pMediumItemSet->GetItem(SID_PROGRESS_STATUSBAR_CONTROL));
+        if (pStatusBarItem)
+            pStatusBarItem->GetValue() >>= xStatusIndicator;
+        const SfxStringItem* pDocHierarchItem = static_cast<const 
SfxStringItem*>(
+            pMediumItemSet->GetItem(SID_DOC_HIERARCHICALNAME));
+        if (pDocHierarchItem)
+            aDocHierarchicalName = pDocHierarchItem->GetValue();
+        const SfxBoolItem* pNoEmbDS = 
pMediumItemSet->GetItem(SID_NO_EMBEDDED_DS);
+        if (pNoEmbDS)
+            bNoEmbDS = pNoEmbDS->GetValue();
+    }
+
     // Get service factory
     uno::Reference< uno::XComponentContext > xContext =
             comphelper::getProcessComponentContext();
@@ -447,28 +465,12 @@ ErrCode SwXMLWriter::Write_(const uno::Reference < 
task::XStatusIndicator >& xSt
 
 ErrCode SwXMLWriter::WriteStorage()
 {
-    return Write_(uno::Reference<task::XStatusIndicator>(), OUString(), false);
+    return Write_(nullptr);
 }
 
 ErrCode SwXMLWriter::WriteMedium( SfxMedium& aTargetMedium )
 {
-    uno::Reference < task::XStatusIndicator > xStatusIndicator;
-    OUString aName;
-    bool bNoEmbDS(false);
-
-    const SfxUnoAnyItem* pStatusBarItem = static_cast<const SfxUnoAnyItem*>(
-       aTargetMedium.GetItemSet()->GetItem(SID_PROGRESS_STATUSBAR_CONTROL) );
-    if ( pStatusBarItem )
-        pStatusBarItem->GetValue() >>= xStatusIndicator;
-    const SfxStringItem* pDocHierarchItem = static_cast<const SfxStringItem*>(
-        aTargetMedium.GetItemSet()->GetItem(SID_DOC_HIERARCHICALNAME) );
-    if ( pDocHierarchItem )
-        aName = pDocHierarchItem->GetValue();
-    const SfxBoolItem* pNoEmbDS = 
SfxItemSet::GetItem(aTargetMedium.GetItemSet(), SID_NO_EMBEDDED_DS, false);
-    if (pNoEmbDS)
-        bNoEmbDS = pNoEmbDS->GetValue();
-
-    return Write_(xStatusIndicator, aName, bNoEmbDS);
+    return Write_(aTargetMedium.GetItemSet());
 }
 
 ErrCode SwXMLWriter::Write( SwPaM& rPaM, SfxMedium& rMed,
diff --git a/sw/source/filter/xml/wrtxml.hxx b/sw/source/filter/xml/wrtxml.hxx
index 7e4ed6580c15..7b9c6fe08302 100644
--- a/sw/source/filter/xml/wrtxml.hxx
+++ b/sw/source/filter/xml/wrtxml.hxx
@@ -40,7 +40,7 @@ namespace com::sun::star {
 
 class SwXMLWriter : public StgWriter
 {
-    ErrCode Write_(const css::uno::Reference < css::task::XStatusIndicator>&, 
const OUString&, bool bNoEmbDS);
+    ErrCode Write_(const SfxItemSet* pMediumItemSet);
 
     using StgWriter::Write;
 

Reply via email to