include/sfx2/docfile.hxx                    |    2 
 sc/qa/unit/helper/scfiltertestbase.cxx      |    3 
 sc/source/core/tool/progress.cxx            |    6 
 sc/source/filter/excel/excel.cxx            |   12 -
 sc/source/filter/excel/impop.cxx            |    3 
 sc/source/filter/excel/xeroot.cxx           |    4 
 sc/source/filter/excel/xlroot.cxx           |    5 
 sc/source/filter/ftools/fapihelper.cxx      |   10 -
 sc/source/filter/orcus/orcusfiltersimpl.cxx |   11 -
 sc/source/filter/xml/xmlwrap.cxx            |   18 +-
 sc/source/ui/docshell/docsh.cxx             |   60 ++-------
 sc/source/ui/docshell/docsh4.cxx            |   10 -
 sc/source/ui/docshell/externalrefmgr.cxx    |    2 
 sc/source/ui/docshell/tablink.cxx           |    4 
 sc/source/ui/view/viewfun5.cxx              |    2 
 sd/source/filter/grf/sdgrffilter.cxx        |   10 -
 sd/source/filter/html/sdhtmlfilter.cxx      |    4 
 sd/source/filter/ppt/pptin.cxx              |   12 -
 sd/source/filter/sdfilter.cxx               |    2 
 sd/source/filter/sdpptwrp.cxx               |    8 -
 sd/source/filter/xml/sdxmlwrp.cxx           |   32 +----
 sd/source/ui/app/sdmod1.cxx                 |    8 -
 sd/source/ui/docshell/docshel4.cxx          |   83 ++++---------
 sd/source/ui/slideshow/slideshowimpl.cxx    |    2 
 sd/source/ui/view/ToolBarManager.cxx        |    2 
 sfx2/source/appl/appopen.cxx                |  105 ++++++++--------
 sfx2/source/appl/linkmgr2.cxx               |    2 
 sfx2/source/appl/sfxpicklist.cxx            |    2 
 sfx2/source/appl/workwin.cxx                |    2 
 sfx2/source/bastyp/fltfnc.cxx               |    8 -
 sfx2/source/bastyp/progress.cxx             |    4 
 sfx2/source/control/dispatch.cxx            |    2 
 sfx2/source/dialog/dinfdlg.cxx              |   15 --
 sfx2/source/dialog/versdlg.cxx              |    8 -
 sfx2/source/doc/docfile.cxx                 |   91 +++++++-------
 sfx2/source/doc/objcont.cxx                 |    2 
 sfx2/source/doc/objmisc.cxx                 |   54 ++++----
 sfx2/source/doc/objserv.cxx                 |   14 +-
 sfx2/source/doc/objstor.cxx                 |  176 +++++++++++++---------------
 sfx2/source/doc/sfxbasemodel.cxx            |   63 ++++------
 sfx2/source/view/frame.cxx                  |    8 -
 sfx2/source/view/frame2.cxx                 |    2 
 sfx2/source/view/frmload.cxx                |    6 
 sfx2/source/view/viewfrm.cxx                |   42 +++---
 sfx2/source/view/viewsh.cxx                 |    6 
 starmath/source/mathml/export.cxx           |    6 
 starmath/source/mathml/import.cxx           |   21 +--
 starmath/source/mathml/mathmlexport.cxx     |   22 +--
 starmath/source/mathml/mathmlimport.cxx     |   21 +--
 svx/source/form/fmview.cxx                  |    2 
 sw/qa/core/filters-test.cxx                 |    2 
 sw/source/core/docnode/section.cxx          |    2 
 sw/source/core/unocore/unocrsrhelper.cxx    |   12 -
 sw/source/filter/ascii/parasc.cxx           |    4 
 sw/source/filter/ascii/wrtasc.cxx           |   16 --
 sw/source/filter/html/htmlform.cxx          |    2 
 sw/source/filter/html/swhtml.cxx            |    8 -
 sw/source/filter/html/wrthtml.cxx           |    6 
 sw/source/filter/ww8/wrtw8esh.cxx           |   10 -
 sw/source/filter/ww8/wrtww8.cxx             |   10 -
 sw/source/filter/ww8/ww8par.cxx             |   19 +--
 sw/source/filter/xml/swxml.cxx              |   16 --
 sw/source/filter/xml/wrtxml.cxx             |    2 
 sw/source/ui/dialog/ascfldlg.cxx            |    3 
 sw/source/ui/dialog/uiregionsw.cxx          |    4 
 sw/source/uibase/app/apphdl.cxx             |    4 
 sw/source/uibase/app/docsh.cxx              |   24 +--
 sw/source/uibase/app/docsh2.cxx             |    6 
 sw/source/uibase/app/docshini.cxx           |    2 
 sw/source/uibase/dbui/dbmgr.cxx             |   15 --
 sw/source/uibase/uiview/view.cxx            |    2 
 sw/source/uibase/uno/unotxdoc.cxx           |    3 
 72 files changed, 505 insertions(+), 666 deletions(-)

New commits:
commit f5dd4faef6c6ee23bb33a0662087e1892db78b3d
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Thu Jul 27 19:12:45 2023 +0300
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Fri Jul 28 08:13:40 2023 +0200

    SfxMedium::GetItemSet never returns nullptr
    
    Change-Id: Ibfc98a49022aa09ebf5315e5d3328308c1e51d66
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154997
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/include/sfx2/docfile.hxx b/include/sfx2/docfile.hxx
index e442f39d259a..2af13be14a0a 100644
--- a/include/sfx2/docfile.hxx
+++ b/include/sfx2/docfile.hxx
@@ -122,7 +122,7 @@ public:
     const std::shared_ptr<const SfxFilter>& GetFilter() const;
     const OUString&     GetOrigURL() const;
 
-    SfxItemSet  *       GetItemSet() const;
+    SfxItemSet&         GetItemSet() const;
     void SetArgs(const css::uno::Sequence<css::beans::PropertyValue>& rArgs);
     const css::uno::Sequence<css::beans::PropertyValue> & GetArgs() const;
     void                Close(bool bInDestruction = false);
diff --git a/sc/qa/unit/helper/scfiltertestbase.cxx 
b/sc/qa/unit/helper/scfiltertestbase.cxx
index d68a9c3267c9..0e8f4525ef11 100644
--- a/sc/qa/unit/helper/scfiltertestbase.cxx
+++ b/sc/qa/unit/helper/scfiltertestbase.cxx
@@ -34,8 +34,7 @@ ScDocShellRef ScFilterTestBase::loadDoc(const OUString& rURL, 
const OUString& rF
     SfxMedium* pSrcMed = new SfxMedium(rURL, StreamMode::STD_READ);
     pSrcMed->SetFilter(pFilter);
     pSrcMed->UseInteractionHandler(false);
-    SfxItemSet* pSet = pSrcMed->GetItemSet();
-    pSet->Put(
+    pSrcMed->GetItemSet().Put(
         SfxUInt16Item(SID_MACROEXECMODE, 
css::document::MacroExecMode::ALWAYS_EXECUTE_NO_WARN));
     SAL_INFO("sc.qa", "about to load " << rURL);
     if (!xDocShRef->DoLoad(pSrcMed))
diff --git a/sc/source/core/tool/progress.cxx b/sc/source/core/tool/progress.cxx
index 83f4e687f609..892f1821dce2 100644
--- a/sc/source/core/tool/progress.cxx
+++ b/sc/source/core/tool/progress.cxx
@@ -52,10 +52,8 @@ static bool lcl_IsHiddenDocument( const SfxObjectShell* 
pObjSh )
         SfxMedium* pMed = pObjSh->GetMedium();
         if (pMed)
         {
-            SfxItemSet* pSet = pMed->GetItemSet();
-            const SfxBoolItem* pItem;
-            if ( pSet && (pItem = pSet->GetItemIfSet( SID_HIDDEN )) &&
-                        pItem->GetValue() )
+            if (const SfxBoolItem* pItem = 
pMed->GetItemSet().GetItemIfSet(SID_HIDDEN);
+                pItem && pItem->GetValue())
                 return true;
         }
     }
diff --git a/sc/source/filter/excel/excel.cxx b/sc/source/filter/excel/excel.cxx
index 2236c433400d..8420cc696a90 100644
--- a/sc/source/filter/excel/excel.cxx
+++ b/sc/source/filter/excel/excel.cxx
@@ -133,7 +133,7 @@ static tools::SvRef<SotStorage> lcl_DRMDecrypt(const 
SfxMedium& rMedium, const t
 
         // Set the media descriptor data
         uno::Sequence<beans::NamedValue> aEncryptionData = 
xPackageEncryption->createEncryptionData("");
-        rMedium.GetItemSet()->Put(SfxUnoAnyItem(SID_ENCRYPTIONDATA, 
uno::Any(aEncryptionData)));
+        rMedium.GetItemSet().Put(SfxUnoAnyItem(SID_ENCRYPTIONDATA, 
uno::Any(aEncryptionData)));
     }
     catch (const std::exception&)
     {
@@ -256,7 +256,7 @@ static ErrCode lcl_ExportExcelBiff( SfxMedium& rMedium, 
ScDocument *pDocument,
 {
     uno::Reference< packages::XPackageEncryption > xPackageEncryption;
     uno::Sequence< beans::NamedValue > aEncryptionData;
-    const SfxUnoAnyItem* pEncryptionDataItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(rMedium.GetItemSet(), SID_ENCRYPTIONDATA, 
false);
+    const SfxUnoAnyItem* pEncryptionDataItem = 
rMedium.GetItemSet().GetItem(SID_ENCRYPTIONDATA, false);
     SvStream* pOriginalMediaStrm = pMedStrm;
     std::shared_ptr<SvStream> pMediaStrm;
     if (pEncryptionDataItem && (pEncryptionDataItem->GetValue() >>= 
aEncryptionData))
@@ -280,7 +280,7 @@ static ErrCode lcl_ExportExcelBiff( SfxMedium& rMedium, 
ScDocument *pDocument,
                 pMedStrm = pMediaStrm.get();
 
                 // Temp removal of EncryptionData to avoid password protection 
triggering
-                rMedium.GetItemSet()->ClearItem(SID_ENCRYPTIONDATA);
+                rMedium.GetItemSet().ClearItem(SID_ENCRYPTIONDATA);
             }
         }
     }
@@ -391,7 +391,7 @@ static ErrCode lcl_ExportExcelBiff( SfxMedium& rMedium, 
ScDocument *pDocument,
         xEncryptedRootStrg->Commit();
 
         // Restore encryption data
-        rMedium.GetItemSet()->Put(SfxUnoAnyItem(SID_ENCRYPTIONDATA, 
uno::Any(aEncryptionData)));
+        rMedium.GetItemSet().Put(SfxUnoAnyItem(SID_ENCRYPTIONDATA, 
uno::Any(aEncryptionData)));
     }
 
     return eRet;
@@ -447,8 +447,8 @@ extern "C" SAL_DLLPUBLIC_EXPORT bool 
TestImportXLS(SvStream& rStream)
     ScDLL::Init();
     SfxMedium aMedium;
     css::uno::Reference<css::io::XInputStream> xStm(new 
utl::OInputStreamWrapper(rStream));
-    aMedium.GetItemSet()->Put(SfxUnoAnyItem(SID_INPUTSTREAM, 
css::uno::Any(xStm)));
-    aMedium.GetItemSet()->Put(SfxUInt16Item(SID_UPDATEDOCMODE, 
css::document::UpdateDocMode::NO_UPDATE));
+    aMedium.GetItemSet().Put(SfxUnoAnyItem(SID_INPUTSTREAM, 
css::uno::Any(xStm)));
+    aMedium.GetItemSet().Put(SfxUInt16Item(SID_UPDATEDOCMODE, 
css::document::UpdateDocMode::NO_UPDATE));
 
     ScDocShellRef xDocShell = new ScDocShell(SfxModelFlags::EMBEDDED_OBJECT |
                                              
SfxModelFlags::DISABLE_EMBEDDED_SCRIPTS |
diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx
index 7d4400f4f617..51f58557e9fe 100644
--- a/sc/source/filter/excel/impop.cxx
+++ b/sc/source/filter/excel/impop.cxx
@@ -167,8 +167,7 @@ void ImportExcel::ReadFileSharing()
     if((nRecommendReadOnly == 0) && (nPasswordHash == 0))
         return;
 
-    if( SfxItemSet* pItemSet = GetMedium().GetItemSet() )
-        pItemSet->Put( SfxBoolItem( SID_DOC_READONLY, true ) );
+    GetMedium().GetItemSet().Put( SfxBoolItem( SID_DOC_READONLY, true ) );
 
     if( SfxObjectShell* pShell = GetDocShell() )
     {
diff --git a/sc/source/filter/excel/xeroot.cxx 
b/sc/source/filter/excel/xeroot.cxx
index 807a24aae60b..3e068284e666 100644
--- a/sc/source/filter/excel/xeroot.cxx
+++ b/sc/source/filter/excel/xeroot.cxx
@@ -335,13 +335,13 @@ uno::Sequence< beans::NamedValue > 
XclExpRoot::GenerateEncryptionData( std::u16s
 uno::Sequence< beans::NamedValue > XclExpRoot::GetEncryptionData() const
 {
     uno::Sequence< beans::NamedValue > aEncryptionData;
-    const SfxUnoAnyItem* pEncryptionDataItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(GetMedium().GetItemSet(), 
SID_ENCRYPTIONDATA, false);
+    const SfxUnoAnyItem* pEncryptionDataItem = 
GetMedium().GetItemSet().GetItem(SID_ENCRYPTIONDATA, false);
     if ( pEncryptionDataItem )
         pEncryptionDataItem->GetValue() >>= aEncryptionData;
     else
     {
         // try to get the encryption data from the password
-        const SfxStringItem* pPasswordItem = 
SfxItemSet::GetItem<SfxStringItem>(GetMedium().GetItemSet(), SID_PASSWORD, 
false);
+        const SfxStringItem* pPasswordItem = 
GetMedium().GetItemSet().GetItem(SID_PASSWORD, false);
         if ( pPasswordItem && !pPasswordItem->GetValue().isEmpty() )
             aEncryptionData = GenerateEncryptionData( 
pPasswordItem->GetValue() );
     }
diff --git a/sc/source/filter/excel/xlroot.cxx 
b/sc/source/filter/excel/xlroot.cxx
index f816339b34d7..587b7cff6612 100644
--- a/sc/source/filter/excel/xlroot.cxx
+++ b/sc/source/filter/excel/xlroot.cxx
@@ -134,9 +134,8 @@ XclRootData::XclRootData( XclBiff eBiff, SfxMedium& rMedium,
     maMaxPos.SetTab( ::std::min( maScMaxPos.Tab(), maXclMaxPos.Tab() ) );
 
     // document URL and path
-    if( const SfxItemSet* pItemSet = mrMedium.GetItemSet() )
-        if( const SfxStringItem* pItem = pItemSet->GetItem<SfxStringItem>( 
SID_FILE_NAME ) )
-            maDocUrl = pItem->GetValue();
+    if( const SfxStringItem* pItem = mrMedium.GetItemSet().GetItem( 
SID_FILE_NAME ) )
+        maDocUrl = pItem->GetValue();
     maBasePath = maDocUrl.copy( 0, maDocUrl.lastIndexOf( '/' ) + 1 );
 
     // extended document options - always own object, try to copy existing 
data from document
diff --git a/sc/source/filter/ftools/fapihelper.cxx 
b/sc/source/filter/ftools/fapihelper.cxx
index 4abfc79be671..a8cb2f59d102 100644
--- a/sc/source/filter/ftools/fapihelper.cxx
+++ b/sc/source/filter/ftools/fapihelper.cxx
@@ -103,12 +103,12 @@ uno::Sequence< beans::NamedValue > 
ScfApiHelper::QueryEncryptionDataForMedium( S
         ::comphelper::IDocPasswordVerifier& rVerifier, const ::std::vector< 
OUString >* pDefaultPasswords )
 {
     uno::Sequence< beans::NamedValue > aEncryptionData;
-    const SfxUnoAnyItem* pEncryptionDataItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(rMedium.GetItemSet(), SID_ENCRYPTIONDATA, 
false);
+    const SfxUnoAnyItem* pEncryptionDataItem = 
rMedium.GetItemSet().GetItem(SID_ENCRYPTIONDATA, false);
     if ( pEncryptionDataItem )
         pEncryptionDataItem->GetValue() >>= aEncryptionData;
 
     OUString aPassword;
-    const SfxStringItem* pPasswordItem = 
SfxItemSet::GetItem<SfxStringItem>(rMedium.GetItemSet(), SID_PASSWORD, false);
+    const SfxStringItem* pPasswordItem = 
rMedium.GetItemSet().GetItem(SID_PASSWORD, false);
     if ( pPasswordItem )
         aPassword = pPasswordItem->GetValue();
 
@@ -117,11 +117,11 @@ uno::Sequence< beans::NamedValue > 
ScfApiHelper::QueryEncryptionDataForMedium( S
         rVerifier, aEncryptionData, aPassword, 
rMedium.GetInteractionHandler(), rMedium.GetOrigURL(),
         ::comphelper::DocPasswordRequestType::MS, pDefaultPasswords, 
&bIsDefaultPassword );
 
-    rMedium.GetItemSet()->ClearItem( SID_PASSWORD );
-    rMedium.GetItemSet()->ClearItem( SID_ENCRYPTIONDATA );
+    rMedium.GetItemSet().ClearItem( SID_PASSWORD );
+    rMedium.GetItemSet().ClearItem( SID_ENCRYPTIONDATA );
 
     if( !bIsDefaultPassword && aEncryptionData.hasElements() )
-        rMedium.GetItemSet()->Put( SfxUnoAnyItem( SID_ENCRYPTIONDATA, 
uno::Any( aEncryptionData ) ) );
+        rMedium.GetItemSet().Put( SfxUnoAnyItem( SID_ENCRYPTIONDATA, uno::Any( 
aEncryptionData ) ) );
 
     return aEncryptionData;
 }
diff --git a/sc/source/filter/orcus/orcusfiltersimpl.cxx 
b/sc/source/filter/orcus/orcusfiltersimpl.cxx
index e7fdb44ca91e..1d3bc9c46234 100644
--- a/sc/source/filter/orcus/orcusfiltersimpl.cxx
+++ b/sc/source/filter/orcus/orcusfiltersimpl.cxx
@@ -35,13 +35,10 @@ namespace
 uno::Reference<task::XStatusIndicator> getStatusIndicator(const SfxMedium& 
rMedium)
 {
     uno::Reference<task::XStatusIndicator> xStatusIndicator;
-    SfxItemSet* pSet = rMedium.GetItemSet();
-    if (pSet)
-    {
-        const SfxUnoAnyItem* pItem = 
pSet->GetItem<SfxUnoAnyItem>(SID_PROGRESS_STATUSBAR_CONTROL);
-        if (pItem)
-            xStatusIndicator.set(pItem->GetValue(), uno::UNO_QUERY);
-    }
+    const SfxUnoAnyItem* pItem
+        = 
rMedium.GetItemSet().GetItem<SfxUnoAnyItem>(SID_PROGRESS_STATUSBAR_CONTROL);
+    if (pItem)
+        xStatusIndicator.set(pItem->GetValue(), uno::UNO_QUERY);
     return xStatusIndicator;
 }
 
diff --git a/sc/source/filter/xml/xmlwrap.cxx b/sc/source/filter/xml/xmlwrap.cxx
index 3546bfe5f043..f1eadd91c4b6 100644
--- a/sc/source/filter/xml/xmlwrap.cxx
+++ b/sc/source/filter/xml/xmlwrap.cxx
@@ -94,13 +94,9 @@ uno::Reference <task::XStatusIndicator> 
ScXMLImportWrapper::GetStatusIndicator()
     uno::Reference<task::XStatusIndicator> xStatusIndicator;
     if (pMedium)
     {
-        SfxItemSet* pSet = pMedium->GetItemSet();
-        if (pSet)
-        {
-            const SfxUnoAnyItem* pItem = 
pSet->GetItem<SfxUnoAnyItem>(SID_PROGRESS_STATUSBAR_CONTROL);
-            if (pItem)
-                xStatusIndicator.set(pItem->GetValue(), uno::UNO_QUERY);
-        }
+        const SfxUnoAnyItem* pItem = 
pMedium->GetItemSet().GetItem(SID_PROGRESS_STATUSBAR_CONTROL);
+        if (pItem)
+            xStatusIndicator.set(pItem->GetValue(), uno::UNO_QUERY);
     }
     return xStatusIndicator;
 }
@@ -358,10 +354,10 @@ bool ScXMLImportWrapper::Import( ImportFlags nMode, 
ErrCode& rError )
     OUString aName;
     if (SfxObjectCreateMode::EMBEDDED == mrDocShell.GetCreateMode())
     {
-        if ( pMedium && pMedium->GetItemSet() )
+        if ( pMedium )
         {
             const SfxStringItem* pDocHierarchItem =
-                pMedium->GetItemSet()->GetItem(SID_DOC_HIERARCHICALNAME);
+                pMedium->GetItemSet().GetItem(SID_DOC_HIERARCHICALNAME);
             if ( pDocHierarchItem )
                 aName = pDocHierarchItem->GetValue();
         }
@@ -822,10 +818,10 @@ bool ScXMLImportWrapper::Export(bool bStylesOnly)
         if( SfxObjectCreateMode::EMBEDDED == pObjSh->GetCreateMode() )
         {
             OUString aName("dummyObjectName");
-            if ( pMedium && pMedium->GetItemSet() )
+            if ( pMedium )
             {
                 const SfxStringItem* pDocHierarchItem =
-                    pMedium->GetItemSet()->GetItem(SID_DOC_HIERARCHICALNAME);
+                    pMedium->GetItemSet().GetItem(SID_DOC_HIERARCHICALNAME);
                 if ( pDocHierarchItem )
                     aName = pDocHierarchItem->GetValue();
             }
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 6df765293f9b..5902ab697789 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -937,7 +937,7 @@ void ScDocShell::Notify( SfxBroadcaster&, const SfxHint& 
rHint )
                                                     
GetMedium()->GetFilter()->GetFilterName())
                                             };
 
-                                            const SfxStringItem* pPasswordItem 
= SfxItemSet::GetItem<SfxStringItem>(GetMedium()->GetItemSet(), SID_PASSWORD, 
false);
+                                            const SfxStringItem* pPasswordItem 
= GetMedium()->GetItemSet().GetItem(SID_PASSWORD, false);
                                             if ( pPasswordItem && 
!pPasswordItem->GetValue().isEmpty() )
                                             {
                                                 aValues.realloc( 2 );
@@ -945,7 +945,7 @@ void ScDocShell::Notify( SfxBroadcaster&, const SfxHint& 
rHint )
                                                 pValues[1].Name = "Password";
                                                 pValues[1].Value <<= 
pPasswordItem->GetValue();
                                             }
-                                            const SfxUnoAnyItem* 
pEncryptionItem = SfxItemSet::GetItem<SfxUnoAnyItem>(GetMedium()->GetItemSet(), 
SID_ENCRYPTIONDATA, false);
+                                            const SfxUnoAnyItem* 
pEncryptionItem = GetMedium()->GetItemSet().GetItem(SID_ENCRYPTIONDATA, false);
                                             if (pEncryptionItem)
                                             {
                                                 
aValues.realloc(aValues.getLength() + 1);
@@ -1211,10 +1211,7 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
         else if (aFltName == pFilterLotus)
         {
             OUString sItStr;
-            SfxItemSet*  pSet = rMedium.GetItemSet();
-            const SfxStringItem* pOptionsItem;
-            if ( pSet &&
-                (pOptionsItem = pSet->GetItemIfSet( SID_FILE_FILTEROPTIONS, 
true )) )
+            if ( const SfxStringItem* pOptionsItem = 
rMedium.GetItemSet().GetItemIfSet( SID_FILE_FILTEROPTIONS, true ) )
             {
                 sItStr = pOptionsItem->GetValue();
             }
@@ -1293,13 +1290,10 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
         }
         else if (aFltName == SC_TEXT_CSV_FILTER_NAME)
         {
-            SfxItemSet*  pSet = rMedium.GetItemSet();
-            const SfxStringItem* pOptionsItem;
             ScAsciiOptions aOptions;
             bool bOptInit = false;
 
-            if ( pSet &&
-                (pOptionsItem = pSet->GetItemIfSet( SID_FILE_FILTEROPTIONS )) )
+            if ( const SfxStringItem* pOptionsItem = 
rMedium.GetItemSet().GetItemIfSet( SID_FILE_FILTEROPTIONS ) )
             {
                 aOptions.ReadFromString( pOptionsItem->GetValue() );
                 bOptInit = true;
@@ -1339,9 +1333,8 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
                     if (const bool bIncludeBOM = aImpEx.GetIncludeBOM())
                     {
                         aOptions.SetIncludeBOM(bIncludeBOM);
-                        if (rMedium.GetItemSet() != nullptr)
-                            rMedium.GetItemSet()->Put(
-                                SfxStringItem(SID_FILE_FILTEROPTIONS, 
aOptions.WriteToString()));
+                        rMedium.GetItemSet().Put(
+                            SfxStringItem(SID_FILE_FILTEROPTIONS, 
aOptions.WriteToString()));
                     }
 
                     // for mobile case, we use a copy of the original document 
and give it a temporary name before editing
@@ -1390,10 +1383,7 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
         else if (aFltName == pFilterDBase)
         {
             OUString sItStr;
-            SfxItemSet*  pSet = rMedium.GetItemSet();
-            const SfxStringItem* pOptionsItem;
-            if ( pSet &&
-                (pOptionsItem = pSet->GetItemIfSet( SID_FILE_FILTEROPTIONS )) )
+            if ( const SfxStringItem* pOptionsItem = 
rMedium.GetItemSet().GetItemIfSet( SID_FILE_FILTEROPTIONS ) )
             {
                 sItStr = pOptionsItem->GetValue();
             }
@@ -1432,10 +1422,7 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
             {
                 ErrCode eError;
                 OUString sItStr;
-                SfxItemSet*  pSet = rMedium.GetItemSet();
-                const SfxStringItem* pOptionsItem;
-                if ( pSet &&
-                    (pOptionsItem = pSet->GetItemIfSet( SID_FILE_FILTEROPTIONS 
)) )
+                if ( const SfxStringItem* pOptionsItem = 
rMedium.GetItemSet().GetItemIfSet( SID_FILE_FILTEROPTIONS ) )
                 {
                     sItStr = pOptionsItem->GetValue();
                 }
@@ -1584,10 +1571,7 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
                     LanguageType eLang = LANGUAGE_SYSTEM;
                     bool bDateConvert = false;
                     bool bScientificConvert = true;
-                    SfxItemSet*  pSet = rMedium.GetItemSet();
-                    const SfxStringItem* pOptionsItem;
-                    if ( pSet &&
-                        (pOptionsItem = pSet->GetItemIfSet( 
SID_FILE_FILTEROPTIONS )) )
+                    if ( const SfxStringItem* pOptionsItem = 
rMedium.GetItemSet().GetItemIfSet( SID_FILE_FILTEROPTIONS ) )
                     {
                         OUString aFilterOption = pOptionsItem->GetValue();
                         lcl_parseHtmlFilterOption(aFilterOption, eLang, 
bDateConvert, bScientificConvert);
@@ -2449,13 +2433,13 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
                 whether they want to save without it. */
             if( (rMed.GetFilter()->GetFilterFlags() & 
SfxFilterFlags::ENCRYPTION) == SfxFilterFlags::NONE )
             {
-                SfxItemSet* pItemSet = rMed.GetItemSet();
-                if( pItemSet && pItemSet->GetItemState( SID_PASSWORD ) == 
SfxItemState::SET )
+                SfxItemSet& rItemSet = rMed.GetItemSet();
+                if( rItemSet.GetItemState( SID_PASSWORD ) == SfxItemState::SET 
)
                 {
                     bDoSave = ScWarnPassword::WarningOnPassword( rMed );
                     // #i42858# remove password from medium (warn only one 
time)
                     if( bDoSave )
-                        pItemSet->ClearItem( SID_PASSWORD );
+                        rItemSet.ClearItem( SID_PASSWORD );
                 }
             }
 
@@ -2488,10 +2472,7 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
     else if (aFltName == SC_TEXT_CSV_FILTER_NAME)
     {
         OUString sItStr;
-        SfxItemSet*  pSet = rMed.GetItemSet();
-        const SfxStringItem* pOptionsItem;
-        if ( pSet &&
-            (pOptionsItem = pSet->GetItemIfSet( SID_FILE_FILTEROPTIONS )) )
+        if ( const SfxStringItem* pOptionsItem = 
rMed.GetItemSet().GetItemIfSet( SID_FILE_FILTEROPTIONS ) )
         {
             sItStr = pOptionsItem->GetValue();
         }
@@ -2615,10 +2596,7 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
     else if (aFltName == pFilterDBase)
     {
         OUString sCharSet;
-        SfxItemSet* pSet = rMed.GetItemSet();
-        const SfxStringItem* pOptionsItem;
-        if ( pSet &&
-            (pOptionsItem = pSet->GetItemIfSet( SID_FILE_FILTEROPTIONS )) )
+        if ( const SfxStringItem* pOptionsItem = 
rMed.GetItemSet().GetItemIfSet( SID_FILE_FILTEROPTIONS ) )
         {
             sCharSet = pOptionsItem->GetValue();
         }
@@ -2654,7 +2632,7 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
             bRet = true;
             if ( bHasMemo )
             {
-                const SfxStringItem* pNameItem = 
rMed.GetItemSet()->GetItem<SfxStringItem>( SID_FILE_NAME );
+                const SfxStringItem* pNameItem = 
rMed.GetItemSet().GetItem<SfxStringItem>( SID_FILE_NAME );
                 assert(pNameItem && "SID_FILE_NAME is required");
                 INetURLObject aDbtFile( pNameItem->GetValue(), 
INetProtocol::File );
                 aDbtFile.setExtension(u"dbt");
@@ -2690,10 +2668,7 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
         if (pStream)
         {
             OUString sItStr;
-            SfxItemSet*  pSet = rMed.GetItemSet();
-            const SfxStringItem* pOptionsItem;
-            if ( pSet &&
-                (pOptionsItem = pSet->GetItemIfSet( SID_FILE_FILTEROPTIONS )) )
+            if ( const SfxStringItem* pOptionsItem = 
rMed.GetItemSet().GetItemIfSet( SID_FILE_FILTEROPTIONS ) )
             {
                 sItStr = pOptionsItem->GetValue();
             }
@@ -2738,10 +2713,9 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
         SvStream* pStream = rMed.GetOutStream();
         if ( pStream )
         {
-            SfxItemSet* pSet = rMed.GetItemSet();
             OUString sFilterOptions;
 
-            if (const SfxStringItem* pOptionsItem = 
pSet->GetItemIfSet(SID_FILE_FILTEROPTIONS))
+            if (const SfxStringItem* pOptionsItem = 
rMed.GetItemSet().GetItemIfSet(SID_FILE_FILTEROPTIONS))
                 sFilterOptions = pOptionsItem->GetValue();
 
             weld::WaitObject aWait(GetActiveDialogParent());
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 99cf080cb7f3..8c9d227a84ca 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -119,8 +119,7 @@ void ScDocShell::SetInitialLinkUpdate( const SfxMedium* 
pMed )
 {
     if (pMed)
     {
-        const SfxUInt16Item* pUpdateDocItem = 
SfxItemSet::GetItem<SfxUInt16Item>( pMed->GetItemSet(),
-                SID_UPDATEDOCMODE, false);
+        const SfxUInt16Item* pUpdateDocItem = 
pMed->GetItemSet().GetItem(SID_UPDATEDOCMODE, false);
         m_nCanUpdate = pUpdateDocItem ? pUpdateDocItem->GetValue() : 
css::document::UpdateDocMode::NO_UPDATE;
     }
 
@@ -2696,8 +2695,7 @@ IMPL_LINK( ScDocShell, DialogClosedHdl, 
sfx2::FileDialogHelper*, _pFileDlg, void
             }
             const SfxPoolItem* pItem = nullptr;
             const SfxInt16Item* pInt16Item(nullptr);
-            SfxItemSet* pSet = pMed->GetItemSet();
-            if (pSet && pSet->GetItemState(SID_VERSION, true, &pItem) == 
SfxItemState::SET)
+            if (pMed->GetItemSet().GetItemState(SID_VERSION, true, &pItem) == 
SfxItemState::SET)
             {
                 pInt16Item = dynamic_cast<const SfxInt16Item*>(pItem);
             }
@@ -2758,7 +2756,7 @@ uno::Reference< frame::XModel > 
ScDocShell::LoadSharedDocument()
 
         if ( GetMedium() )
         {
-            const SfxStringItem* pPasswordItem = 
SfxItemSet::GetItem<SfxStringItem>(GetMedium()->GetItemSet(), SID_PASSWORD, 
false);
+            const SfxStringItem* pPasswordItem = 
GetMedium()->GetItemSet().GetItem(SID_PASSWORD, false);
             if ( pPasswordItem && !pPasswordItem->GetValue().isEmpty() )
             {
                 aArgs.realloc( 2 );
@@ -2766,7 +2764,7 @@ uno::Reference< frame::XModel > 
ScDocShell::LoadSharedDocument()
                 pArgs[1].Name = "Password";
                 pArgs[1].Value <<= pPasswordItem->GetValue();
             }
-            const SfxUnoAnyItem* pEncryptionItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(GetMedium()->GetItemSet(), 
SID_ENCRYPTIONDATA, false);
+            const SfxUnoAnyItem* pEncryptionItem = 
GetMedium()->GetItemSet().GetItem(SID_ENCRYPTIONDATA, false);
             if (pEncryptionItem)
             {
                 aArgs.realloc(aArgs.getLength() + 1);
diff --git a/sc/source/ui/docshell/externalrefmgr.cxx 
b/sc/source/ui/docshell/externalrefmgr.cxx
index 7ba8527db28a..f99011e5d7fd 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -2581,7 +2581,7 @@ SfxObjectShellRef 
ScExternalRefManager::loadSrcDocument(sal_uInt16 nFileId, OUSt
         SfxMedium* pMedium = pShell->GetMedium();
         if (pMedium)
         {
-            const SfxUInt16Item* pItem = pMedium->GetItemSet()->GetItemIfSet( 
SID_MACROEXECMODE, false );
+            const SfxUInt16Item* pItem = pMedium->GetItemSet().GetItemIfSet( 
SID_MACROEXECMODE, false );
             if (pItem &&
                     pItem->GetValue() != 
css::document::MacroExecMode::NEVER_EXECUTE)
                 pSet->Put( SfxUInt16Item( SID_MACROEXECMODE, 
css::document::MacroExecMode::USE_CONFIG));
diff --git a/sc/source/ui/docshell/tablink.cxx 
b/sc/source/ui/docshell/tablink.cxx
index 7fd32eb23780..1058bd49ef2a 100644
--- a/sc/source/ui/docshell/tablink.cxx
+++ b/sc/source/ui/docshell/tablink.cxx
@@ -422,9 +422,7 @@ IMPL_LINK( ScTableLink, TableEndEditHdl, 
::sfx2::SvBaseLink&, rLink, void )
 
 OUString ScDocumentLoader::GetOptions( const SfxMedium& rMedium )
 {
-    SfxItemSet* pSet = rMedium.GetItemSet();
-    const SfxStringItem* pItem;
-    if ( pSet && (pItem = pSet->GetItemIfSet( SID_FILE_FILTEROPTIONS )) )
+    if ( const SfxStringItem* pItem = rMedium.GetItemSet().GetItemIfSet( 
SID_FILE_FILTEROPTIONS ) )
         return pItem->GetValue();
 
     return OUString();
diff --git a/sc/source/ui/view/viewfun5.cxx b/sc/source/ui/view/viewfun5.cxx
index 7fb2bce1dc8a..1098319506f8 100644
--- a/sc/source/ui/view/viewfun5.cxx
+++ b/sc/source/ui/view/viewfun5.cxx
@@ -616,7 +616,7 @@ bool ScViewFunc::PasteDataFormat( SotClipboardFormatId 
nFormatId,
             aInsDoc.ResetClip( &rDoc, nSrcTab );
 
             SfxMedium aMed;
-            aMed.GetItemSet()->Put( SfxUnoAnyItem( SID_INPUTSTREAM, uno::Any( 
xStm ) ) );
+            aMed.GetItemSet().Put( SfxUnoAnyItem( SID_INPUTSTREAM, uno::Any( 
xStm ) ) );
             ErrCode eErr = ScFormatFilter::Get().ScImportExcel( aMed, 
&aInsDoc, EIF_AUTO );
             if ( eErr == ERRCODE_NONE )
             {
diff --git a/sd/source/filter/grf/sdgrffilter.cxx 
b/sd/source/filter/grf/sdgrffilter.cxx
index 4866b269f776..d296a624b78a 100644
--- a/sd/source/filter/grf/sdgrffilter.cxx
+++ b/sd/source/filter/grf/sdgrffilter.cxx
@@ -251,9 +251,9 @@ bool SdGRFFilter::Export()
         if ( pPage )
         {
             uno::Reference< lang::XComponent > xSource( pPage->getUnoPage(), 
uno::UNO_QUERY );
-            SfxItemSet* pSet = mrMedium.GetItemSet();
-            if ( pSet && xSource.is() )
+            if (xSource.is())
             {
+                SfxItemSet& rSet = mrMedium.GetItemSet();
                 const OUString aTypeName( mrMedium.GetFilter()->GetTypeName() 
);
                 GraphicFilter &rGraphicFilter = 
GraphicFilter::GetGraphicFilter();
                 const sal_uInt16 nFilter = 
rGraphicFilter.GetExportFormatNumberForTypeName( aTypeName );
@@ -262,7 +262,7 @@ bool SdGRFFilter::Export()
                     uno::Reference< task::XInteractionHandler > 
xInteractionHandler;
 
                     beans::PropertyValues aArgs;
-                    TransformItems( SID_SAVEASDOC, *pSet, aArgs );
+                    TransformItems( SID_SAVEASDOC, rSet, aArgs );
 
                     static constexpr OUStringLiteral sFilterName( 
u"FilterName" );
                     OUString sShortName( 
rGraphicFilter.GetExportFormatShortName( nFilter ) );
@@ -296,8 +296,8 @@ bool SdGRFFilter::Export()
                     }
 
                     // take selection if needed
-                    if( ( SfxItemState::SET == pSet->GetItemState( 
SID_SELECTION ) )
-                        && pSet->Get( SID_SELECTION ).GetValue()
+                    if( ( SfxItemState::SET == rSet.GetItemState( 
SID_SELECTION ) )
+                        && rSet.Get( SID_SELECTION ).GetValue()
                         && pDrawViewShell )
                     {
                         uno::Reference< view::XSelectionSupplier > 
xSelectionSupplier(
diff --git a/sd/source/filter/html/sdhtmlfilter.cxx 
b/sd/source/filter/html/sdhtmlfilter.cxx
index f7a3bc10f2aa..a86b1ad29051 100644
--- a/sd/source/filter/html/sdhtmlfilter.cxx
+++ b/sd/source/filter/html/sdhtmlfilter.cxx
@@ -36,11 +36,9 @@ bool SdHTMLFilter::Export()
     mrMedium.Close();
     mrMedium.Commit();
 
-    SfxItemSet* pSet = mrMedium.GetItemSet();
-
     css::uno::Sequence<css::beans::PropertyValue> aParams;
 
-    if (const SfxUnoAnyItem* pItem = pSet->GetItemIfSet(SID_FILTER_DATA, 
false))
+    if (const SfxUnoAnyItem* pItem = 
mrMedium.GetItemSet().GetItemIfSet(SID_FILTER_DATA, false))
         pItem->GetValue() >>= aParams;
 
     HtmlExport aExport(mrMedium.GetName(), aParams, &mrDocument, &mrDocShell);
diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx
index 3eaebfd1892b..464c934ab780 100644
--- a/sd/source/filter/ppt/pptin.cxx
+++ b/sd/source/filter/ppt/pptin.cxx
@@ -1256,18 +1256,10 @@ bool ImplSdPPTImport::Import()
             switch ( m_aUserEditAtom.eLastViewType )
             {
                 case PptViewTypeEnum::Outline:
-                {
-                    SfxItemSet* pSet = mrMed.GetItemSet();
-                    if ( pSet )
-                        pSet->Put( SfxUInt16Item( SID_VIEW_ID, 3 ) );
-                }
+                    mrMed.GetItemSet().Put( SfxUInt16Item( SID_VIEW_ID, 3 ) );
                 break;
                 case PptViewTypeEnum::SlideSorter:
-                {
-                    SfxItemSet* pSet = mrMed.GetItemSet();
-                    if ( pSet )
-                        pSet->Put( SfxUInt16Item( SID_VIEW_ID, 2 ) );
-                }
+                    mrMed.GetItemSet().Put( SfxUInt16Item( SID_VIEW_ID, 2 ) );
                 break;
                 case PptViewTypeEnum::TitleMaster:
                     nSelectedPage = 1;
diff --git a/sd/source/filter/sdfilter.cxx b/sd/source/filter/sdfilter.cxx
index e1ee1393226e..ec95da771ced 100644
--- a/sd/source/filter/sdfilter.cxx
+++ b/sd/source/filter/sdfilter.cxx
@@ -54,7 +54,7 @@ void SdFilter::CreateStatusIndicator()
 {
     // The status indicator must be retrieved from the provided medium 
arguments
     const SfxUnoAnyItem* pStatusBarItem =
-            mrMedium.GetItemSet()->GetItem(SID_PROGRESS_STATUSBAR_CONTROL);
+            mrMedium.GetItemSet().GetItem(SID_PROGRESS_STATUSBAR_CONTROL);
 
     if ( pStatusBarItem )
         pStatusBarItem->GetValue() >>= mxStatusIndicator;
diff --git a/sd/source/filter/sdpptwrp.cxx b/sd/source/filter/sdpptwrp.cxx
index da2032816393..64a1fa1f1934 100644
--- a/sd/source/filter/sdpptwrp.cxx
+++ b/sd/source/filter/sdpptwrp.cxx
@@ -132,7 +132,7 @@ static tools::SvRef<SotStorage> lcl_DRMDecrypt(const 
SfxMedium& rMedium, const t
 
         // Set the media descriptor data
         Sequence<NamedValue> aEncryptionData = 
xPackageEncryption->createEncryptionData("");
-        rMedium.GetItemSet()->Put(SfxUnoAnyItem(SID_ENCRYPTIONDATA, 
Any(aEncryptionData)));
+        rMedium.GetItemSet().Put(SfxUnoAnyItem(SID_ENCRYPTIONDATA, 
Any(aEncryptionData)));
     }
     catch (const std::exception&)
     {
@@ -216,7 +216,7 @@ bool SdPPTFilter::Export()
 
         Sequence< NamedValue > aEncryptionData;
         Reference< css::packages::XPackageEncryption > xPackageEncryption;
-        const SfxUnoAnyItem* pEncryptionDataItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(mrMedium.GetItemSet(), SID_ENCRYPTIONDATA, 
false);
+        const SfxUnoAnyItem* pEncryptionDataItem = 
mrMedium.GetItemSet().GetItem(SID_ENCRYPTIONDATA, false);
         std::shared_ptr<SvStream> pMediaStrm;
         if (pEncryptionDataItem && (pEncryptionDataItem->GetValue() >>= 
aEncryptionData))
         {
@@ -239,7 +239,7 @@ bool SdPPTFilter::Export()
                     pOutputStrm = pMediaStrm.get();
 
                     // Temp removal of EncryptionData to avoid password 
protection triggering
-                    mrMedium.GetItemSet()->ClearItem(SID_ENCRYPTIONDATA);
+                    mrMedium.GetItemSet().ClearItem(SID_ENCRYPTIONDATA);
                 }
             }
         }
@@ -309,7 +309,7 @@ bool SdPPTFilter::Export()
                 xEncryptedRootStrg->Commit();
 
                 // Restore encryption data
-                mrMedium.GetItemSet()->Put(SfxUnoAnyItem(SID_ENCRYPTIONDATA, 
Any(aEncryptionData)));
+                mrMedium.GetItemSet().Put(SfxUnoAnyItem(SID_ENCRYPTIONDATA, 
Any(aEncryptionData)));
             }
         }
     }
diff --git a/sd/source/filter/xml/sdxmlwrp.cxx 
b/sd/source/filter/xml/sdxmlwrp.cxx
index 099f56ee9e22..6dba0df7b4db 100644
--- a/sd/source/filter/xml/sdxmlwrp.cxx
+++ b/sd/source/filter/xml/sdxmlwrp.cxx
@@ -504,14 +504,10 @@ bool SdXMLFilter::Import( ErrCode& nError )
 
     // try to get an XStatusIndicator from the Medium
     {
-        SfxItemSet* pSet = mrMedium.GetItemSet();
-        if(pSet)
+        const SfxUnoAnyItem* pItem = 
mrMedium.GetItemSet().GetItem(SID_PROGRESS_STATUSBAR_CONTROL);
+        if (pItem)
         {
-            const SfxUnoAnyItem* pItem = 
pSet->GetItem(SID_PROGRESS_STATUSBAR_CONTROL);
-            if (pItem)
-            {
-                pItem->GetValue() >>= mxStatusIndicator;
-            }
+            pItem->GetValue() >>= mxStatusIndicator;
         }
 
         if(mxStatusIndicator.is())
@@ -561,13 +557,10 @@ bool SdXMLFilter::Import( ErrCode& nError )
     if( ERRCODE_NONE == nRet && SfxObjectCreateMode::EMBEDDED == 
mrDocShell.GetCreateMode() )
     {
         OUString aName;
-        if ( mrMedium.GetItemSet() )
-        {
-            const SfxStringItem* pDocHierarchItem =
-                mrMedium.GetItemSet()->GetItem(SID_DOC_HIERARCHICALNAME);
-            if ( pDocHierarchItem )
-                aName = pDocHierarchItem->GetValue();
-        }
+        const SfxStringItem* pDocHierarchItem =
+            mrMedium.GetItemSet().GetItem(SID_DOC_HIERARCHICALNAME);
+        if ( pDocHierarchItem )
+            aName = pDocHierarchItem->GetValue();
         else
             aName = "dummyObjectName" ;
 
@@ -797,13 +790,10 @@ bool SdXMLFilter::Export()
         if( SfxObjectCreateMode::EMBEDDED == mrDocShell.GetCreateMode() )
         {
             OUString aName;
-            if ( mrMedium.GetItemSet() )
-            {
-                const SfxStringItem* pDocHierarchItem =
-                    mrMedium.GetItemSet()->GetItem(SID_DOC_HIERARCHICALNAME);
-                if ( pDocHierarchItem )
-                    aName = pDocHierarchItem->GetValue();
-            }
+            const SfxStringItem* pDocHierarchItem =
+                mrMedium.GetItemSet().GetItem(SID_DOC_HIERARCHICALNAME);
+            if ( pDocHierarchItem )
+                aName = pDocHierarchItem->GetValue();
 
             if( !aName.isEmpty() )
             {
diff --git a/sd/source/ui/app/sdmod1.cxx b/sd/source/ui/app/sdmod1.cxx
index 881d5aa1eefd..0a4f7d5e587b 100644
--- a/sd/source/ui/app/sdmod1.cxx
+++ b/sd/source/ui/app/sdmod1.cxx
@@ -431,8 +431,8 @@ SfxFrame* SdModule::CreateFromTemplate(const OUString& 
rTemplatePath, const Refe
     }
     else if( pDocShell )
     {
-        if (pDocShell->GetMedium() && pDocShell->GetMedium()->GetItemSet())
-            
pDocShell->GetMedium()->GetItemSet()->Put(SfxBoolItem(SID_REPLACEABLE, 
bReplaceable));
+        if (pDocShell->GetMedium())
+            
pDocShell->GetMedium()->GetItemSet().Put(SfxBoolItem(SID_REPLACEABLE, 
bReplaceable));
         SfxViewFrame* pViewFrame = SfxViewFrame::LoadDocumentIntoFrame( 
*pDocShell, i_rFrame );
         OSL_ENSURE( pViewFrame, "SdModule::CreateFromTemplate: no view frame - 
was the document really loaded?" );
         pFrame = pViewFrame ? &pViewFrame->GetFrame() : nullptr;
@@ -520,8 +520,8 @@ SfxFrame* SdModule::CreateEmptyDocument( const Reference< 
XFrame >& i_rFrame )
         pDoc->CreateFirstPages();
         pDoc->StopWorkStartupDelay();
     }
-    if (pNewDocSh->GetMedium() && pNewDocSh->GetMedium()->GetItemSet())
-        pNewDocSh->GetMedium()->GetItemSet()->Put(SfxBoolItem(SID_REPLACEABLE, 
true));
+    if (pNewDocSh->GetMedium())
+        pNewDocSh->GetMedium()->GetItemSet().Put(SfxBoolItem(SID_REPLACEABLE, 
true));
 
     SfxViewFrame* pViewFrame = SfxViewFrame::LoadDocumentIntoFrame( 
*pNewDocSh, i_rFrame );
     OSL_ENSURE( pViewFrame, "SdModule::CreateEmptyDocument: no view frame - 
was the document really loaded?" );
diff --git a/sd/source/ui/docshell/docshel4.cxx 
b/sd/source/ui/docshell/docshel4.cxx
index aeee4709208a..c240399053b9 100644
--- a/sd/source/ui/docshell/docshel4.cxx
+++ b/sd/source/ui/docshell/docshel4.cxx
@@ -277,21 +277,18 @@ bool DrawDocShell::Load( SfxMedium& rMedium )
     bool       bStartPresentation = false;
     ErrCode nError = ERRCODE_NONE;
 
-    SfxItemSet* pSet = rMedium.GetItemSet();
+    SfxItemSet& rSet = rMedium.GetItemSet();
 
-    if( pSet )
+    if( (  SfxItemState::SET == rSet.GetItemState(SID_PREVIEW ) ) && rSet.Get( 
SID_PREVIEW ).GetValue() )
     {
-        if( (  SfxItemState::SET == pSet->GetItemState(SID_PREVIEW ) ) && 
pSet->Get( SID_PREVIEW ).GetValue() )
-        {
-            mpDoc->SetStarDrawPreviewMode( true );
-        }
+        mpDoc->SetStarDrawPreviewMode( true );
+    }
 
-        if( SfxItemState::SET == 
pSet->GetItemState(SID_DOC_STARTPRESENTATION)&&
-            pSet->Get( SID_DOC_STARTPRESENTATION ).GetValue() )
-        {
-            bStartPresentation = true;
-            mpDoc->SetStartWithPresentation( true );
-        }
+    if( SfxItemState::SET == rSet.GetItemState(SID_DOC_STARTPRESENTATION)&&
+        rSet.Get( SID_DOC_STARTPRESENTATION ).GetValue() )
+    {
+        bStartPresentation = true;
+        mpDoc->SetStartWithPresentation( true );
     }
 
     bRet = SfxObjectShell::Load( rMedium );
@@ -340,9 +337,7 @@ bool DrawDocShell::Load( SfxMedium& rMedium )
     // tell SFX to change viewshell when in preview mode
     if( IsPreview() || bStartPresentation )
     {
-        SfxItemSet *pMediumSet = GetMedium()->GetItemSet();
-        if( pMediumSet )
-            pMediumSet->Put( SfxUInt16Item( SID_VIEW_ID, bStartPresentation ? 
1 : 5 ) );
+        GetMedium()->GetItemSet().Put( SfxUInt16Item( SID_VIEW_ID, 
bStartPresentation ? 1 : 5 ) );
     }
 
     return bRet;
@@ -368,10 +363,7 @@ bool DrawDocShell::LoadFrom( SfxMedium& rMedium )
     // tell SFX to change viewshell when in preview mode
     if( IsPreview() )
     {
-        SfxItemSet *pSet = GetMedium()->GetItemSet();
-
-        if( pSet )
-            pSet->Put( SfxUInt16Item( SID_VIEW_ID, 5 ) );
+        GetMedium()->GetItemSet().Put( SfxUInt16Item( SID_VIEW_ID, 5 ) );
     }
 
     return bRet;
@@ -428,21 +420,16 @@ bool DrawDocShell::ImportFrom(SfxMedium &rMedium,
 
     const bool bRet = SfxObjectShell::ImportFrom(rMedium, xInsertPosition);
 
-    SfxItemSet* pSet = rMedium.GetItemSet();
-    if( pSet )
+    SfxItemSet& rSet = rMedium.GetItemSet();
+    if( SfxItemState::SET == rSet.GetItemState(SID_DOC_STARTPRESENTATION)&&
+        rSet.Get( SID_DOC_STARTPRESENTATION ).GetValue() )
     {
-        if( SfxItemState::SET == 
pSet->GetItemState(SID_DOC_STARTPRESENTATION)&&
-            pSet->Get( SID_DOC_STARTPRESENTATION ).GetValue() )
-        {
-            mpDoc->SetStartWithPresentation( true );
+        mpDoc->SetStartWithPresentation( true );
 
-            // tell SFX to change viewshell when in preview mode
-            if( IsPreview() )
-            {
-                SfxItemSet *pMediumSet = GetMedium()->GetItemSet();
-                if( pMediumSet )
-                    pMediumSet->Put( SfxUInt16Item( SID_VIEW_ID, 1 ) );
-            }
+        // tell SFX to change viewshell when in preview mode
+        if( IsPreview() )
+        {
+            GetMedium()->GetItemSet().Put( SfxUInt16Item( SID_VIEW_ID, 1 ) );
         }
     }
 
@@ -460,20 +447,17 @@ bool DrawDocShell::ConvertFrom( SfxMedium& rMedium )
 
     SetWaitCursor( true );
 
-    SfxItemSet* pSet = rMedium.GetItemSet();
-    if( pSet )
+    SfxItemSet& rSet = rMedium.GetItemSet();
+    if( (  SfxItemState::SET == rSet.GetItemState(SID_PREVIEW ) ) && rSet.Get( 
SID_PREVIEW ).GetValue() )
     {
-        if( (  SfxItemState::SET == pSet->GetItemState(SID_PREVIEW ) ) && 
pSet->Get( SID_PREVIEW ).GetValue() )
-        {
-            mpDoc->SetStarDrawPreviewMode( true );
-        }
+        mpDoc->SetStarDrawPreviewMode( true );
+    }
 
-        if( SfxItemState::SET == 
pSet->GetItemState(SID_DOC_STARTPRESENTATION)&&
-            pSet->Get( SID_DOC_STARTPRESENTATION ).GetValue() )
-        {
-            bStartPresentation = true;
-            mpDoc->SetStartWithPresentation( true );
-        }
+    if( SfxItemState::SET == rSet.GetItemState(SID_DOC_STARTPRESENTATION)&&
+        rSet.Get( SID_DOC_STARTPRESENTATION ).GetValue() )
+    {
+        bStartPresentation = true;
+        mpDoc->SetStartWithPresentation( true );
     }
 
     if( aFilterName == pFilterPowerPoint97
@@ -526,19 +510,14 @@ bool DrawDocShell::ConvertFrom( SfxMedium& rMedium )
     // tell SFX to change viewshell when in preview mode
     if( IsPreview() )
     {
-        SfxItemSet *pMediumSet = GetMedium()->GetItemSet();
-
-        if( pMediumSet )
-            pMediumSet->Put( SfxUInt16Item( SID_VIEW_ID, 5 ) );
+        GetMedium()->GetItemSet().Put( SfxUInt16Item( SID_VIEW_ID, 5 ) );
     }
     SetWaitCursor( false );
 
     // tell SFX to change viewshell when in preview mode
     if( IsPreview() || bStartPresentation )
     {
-        SfxItemSet *pMediumSet = GetMedium()->GetItemSet();
-        if( pMediumSet )
-            pMediumSet->Put( SfxUInt16Item( SID_VIEW_ID, bStartPresentation ? 
1 : 5 ) );
+        GetMedium()->GetItemSet().Put( SfxUInt16Item( SID_VIEW_ID, 
bStartPresentation ? 1 : 5 ) );
     }
 
     return bRet;
@@ -893,7 +872,7 @@ bool DrawDocShell::SaveAsOwnFormat( SfxMedium& rMedium )
 
         OUString aLayoutName;
 
-        SfxStringItem const * pLayoutItem = 
rMedium.GetItemSet()->GetItemIfSet(SID_TEMPLATE_NAME, false);
+        SfxStringItem const * pLayoutItem = 
rMedium.GetItemSet().GetItemIfSet(SID_TEMPLATE_NAME, false);
         if( pLayoutItem )
         {
             aLayoutName = pLayoutItem->GetValue();
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx 
b/sd/source/ui/slideshow/slideshowimpl.cxx
index 692b3d73ef64..42ed20634499 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -2439,7 +2439,7 @@ void SlideshowImpl::setActiveXToolbarsVisible( bool 
bVisible )
     if ( !(!maPresSettings.mbFullScreen && mpDocSh && mpDocSh->GetMedium()) )
         return;
 
-    const SfxBoolItem* pItem = 
SfxItemSet::GetItem<SfxBoolItem>(mpDocSh->GetMedium()->GetItemSet(), 
SID_VIEWONLY, false);
+    const SfxBoolItem* pItem = 
mpDocSh->GetMedium()->GetItemSet().GetItem(SID_VIEWONLY, false);
     if ( !(pItem && pItem->GetValue()) )
         return;
 
diff --git a/sd/source/ui/view/ToolBarManager.cxx 
b/sd/source/ui/view/ToolBarManager.cxx
index 0db84b25a3b4..b3ea6ee8ded2 100644
--- a/sd/source/ui/view/ToolBarManager.cxx
+++ b/sd/source/ui/view/ToolBarManager.cxx
@@ -873,7 +873,7 @@ bool ToolBarManager::Implementation::CheckPlugInMode 
(std::u16string_view rsName
         if (pMedium == nullptr)
             break;
 
-        const SfxBoolItem* pViewOnlyItem = 
SfxItemSet::GetItem<SfxBoolItem>(pMedium->GetItemSet(), SID_VIEWONLY, false);
+        const SfxBoolItem* pViewOnlyItem = 
pMedium->GetItemSet().GetItem(SID_VIEWONLY, false);
         if (pViewOnlyItem == nullptr)
             break;
 
diff --git a/sfx2/source/appl/appopen.cxx b/sfx2/source/appl/appopen.cxx
index b3b11d626362..3d11988c2c75 100644
--- a/sfx2/source/appl/appopen.cxx
+++ b/sfx2/source/appl/appopen.cxx
@@ -214,67 +214,64 @@ ErrCode CheckPasswd_Impl
 
                     nRet = ERRCODE_SFX_CANTGETPASSWD;
 
-                    SfxItemSet *pSet = pFile->GetItemSet();
-                    if( pSet )
+                    SfxItemSet& rSet = pFile->GetItemSet();
+                    Reference< css::task::XInteractionHandler > 
xInteractionHandler = pFile->GetInteractionHandler();
+                    if( xInteractionHandler.is() )
                     {
-                        Reference< css::task::XInteractionHandler > 
xInteractionHandler = pFile->GetInteractionHandler();
-                        if( xInteractionHandler.is() )
+                        // use the comphelper password helper to request a 
password
+                        OUString aPassword;
+                        const SfxStringItem* pPasswordItem = 
rSet.GetItem(SID_PASSWORD, false);
+                        if ( pPasswordItem )
+                            aPassword = pPasswordItem->GetValue();
+
+                        uno::Sequence< beans::NamedValue > aEncryptionData;
+                        const SfxUnoAnyItem* pEncryptionDataItem = 
rSet.GetItem(SID_ENCRYPTIONDATA, false);
+                        if ( pEncryptionDataItem )
+                            pEncryptionDataItem->GetValue() >>= 
aEncryptionData;
+
+                        // try if one of the public key entries is
+                        // decryptable, then extract session key
+                        // from it
+                        if ( !aEncryptionData.hasElements() && 
aGpgProperties.hasElements() )
+                            aEncryptionData = 
::comphelper::DocPasswordHelper::decryptGpgSession(aGpgProperties);
+
+                        // tdf#93389: if recovering a document, encryption 
data should contain
+                        // entries for the real filter, not only for recovery 
ODF, to keep it
+                        // encrypted. Pass this in encryption data.
+                        // TODO: pass here the real filter (from 
AutoRecovery::implts_openDocs)
+                        // to marshal this to requestAndVerifyDocPassword
+                        if (rSet.GetItemState(SID_DOC_SALVAGE, false) == 
SfxItemState::SET)
                         {
-                            // use the comphelper password helper to request a 
password
-                            OUString aPassword;
-                            const SfxStringItem* pPasswordItem = 
SfxItemSet::GetItem<SfxStringItem>(pSet, SID_PASSWORD, false);
-                            if ( pPasswordItem )
-                                aPassword = pPasswordItem->GetValue();
-
-                            uno::Sequence< beans::NamedValue > aEncryptionData;
-                            const SfxUnoAnyItem* pEncryptionDataItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(pSet, SID_ENCRYPTIONDATA, false);
-                            if ( pEncryptionDataItem )
-                                pEncryptionDataItem->GetValue() >>= 
aEncryptionData;
-
-                            // try if one of the public key entries is
-                            // decryptable, then extract session key
-                            // from it
-                            if ( !aEncryptionData.hasElements() && 
aGpgProperties.hasElements() )
-                                aEncryptionData = 
::comphelper::DocPasswordHelper::decryptGpgSession(aGpgProperties);
-
-                            // tdf#93389: if recovering a document, encryption 
data should contain
-                            // entries for the real filter, not only for 
recovery ODF, to keep it
-                            // encrypted. Pass this in encryption data.
-                            // TODO: pass here the real filter (from 
AutoRecovery::implts_openDocs)
-                            // to marshal this to requestAndVerifyDocPassword
-                            if (pSet->GetItemState(SID_DOC_SALVAGE, false) == 
SfxItemState::SET)
-                            {
-                                aEncryptionData = comphelper::concatSequences(
-                                    aEncryptionData, 
std::initializer_list<beans::NamedValue>{
-                                                         { "ForSalvage", 
css::uno::Any(true) } });
-                            }
+                            aEncryptionData = comphelper::concatSequences(
+                                aEncryptionData, 
std::initializer_list<beans::NamedValue>{
+                                                     { "ForSalvage", 
css::uno::Any(true) } });
+                        }
+
+                        SfxDocPasswordVerifier aVerifier( xStorage );
+                        aEncryptionData = 
::comphelper::DocPasswordHelper::requestAndVerifyDocPassword(
+                            aVerifier, aEncryptionData, aPassword, 
xInteractionHandler, pFile->GetOrigURL(), 
comphelper::DocPasswordRequestType::Standard );
 
-                            SfxDocPasswordVerifier aVerifier( xStorage );
-                            aEncryptionData = 
::comphelper::DocPasswordHelper::requestAndVerifyDocPassword(
-                                aVerifier, aEncryptionData, aPassword, 
xInteractionHandler, pFile->GetOrigURL(), 
comphelper::DocPasswordRequestType::Standard );
+                        rSet.ClearItem( SID_PASSWORD );
+                        rSet.ClearItem( SID_ENCRYPTIONDATA );
 
-                            pSet->ClearItem( SID_PASSWORD );
-                            pSet->ClearItem( SID_ENCRYPTIONDATA );
+                        if ( aEncryptionData.hasElements() )
+                        {
+                            rSet.Put( SfxUnoAnyItem( SID_ENCRYPTIONDATA, 
uno::Any( aEncryptionData ) ) );
 
-                            if ( aEncryptionData.hasElements() )
+                            try
+                            {
+                                // update the version list of the medium using 
the new password
+                                pFile->GetVersionList();
+                            }
+                            catch( uno::Exception& )
                             {
-                                pSet->Put( SfxUnoAnyItem( SID_ENCRYPTIONDATA, 
uno::Any( aEncryptionData ) ) );
-
-                                try
-                                {
-                                    // update the version list of the medium 
using the new password
-                                    pFile->GetVersionList();
-                                }
-                                catch( uno::Exception& )
-                                {
-                                    // TODO/LATER: set the error code
-                                }
-
-                                nRet = ERRCODE_NONE;
+                                // TODO/LATER: set the error code
                             }
-                            else
-                                nRet = ERRCODE_IO_ABORT;
+
+                            nRet = ERRCODE_NONE;
                         }
+                        else
+                            nRet = ERRCODE_IO_ABORT;
                     }
                 }
             }
@@ -390,7 +387,7 @@ ErrCode SfxApplication::LoadTemplate( SfxObjectShellLock& 
xDoc, const OUString &
     css::uno::Reference< css::frame::XModel >  xModel = xDoc->GetModel();
     if ( xModel.is() )
     {
-        std::unique_ptr<SfxItemSet> pNew = 
xDoc->GetMedium()->GetItemSet()->Clone();
+        std::unique_ptr<SfxItemSet> pNew = 
xDoc->GetMedium()->GetItemSet().Clone();
         pNew->ClearItem( SID_PROGRESS_STATUSBAR_CONTROL );
         pNew->ClearItem( SID_FILTER_NAME );
         css::uno::Sequence< css::beans::PropertyValue > aArgs;
diff --git a/sfx2/source/appl/linkmgr2.cxx b/sfx2/source/appl/linkmgr2.cxx
index 6a3e0c7e8821..f529fb11d468 100644
--- a/sfx2/source/appl/linkmgr2.cxx
+++ b/sfx2/source/appl/linkmgr2.cxx
@@ -599,7 +599,7 @@ bool SvxInternalLink::Connect( sfx2::SvBaseLink* pLink )
         if( pShell && pShell->GetMedium() )
         {
             sReferer = pShell->GetMedium()->GetBaseURL();
-            const SfxUInt16Item* pItem = 
SfxItemSet::GetItem<SfxUInt16Item>(pShell->GetMedium()->GetItemSet(), 
SID_UPDATEDOCMODE, false);
+            const SfxUInt16Item* pItem = 
pShell->GetMedium()->GetItemSet().GetItem(SID_UPDATEDOCMODE, false);
             if ( pItem )
                 nUpdateMode = pItem->GetValue();
         }
diff --git a/sfx2/source/appl/sfxpicklist.cxx b/sfx2/source/appl/sfxpicklist.cxx
index fb676d981d35..bc7a339bc853 100644
--- a/sfx2/source/appl/sfxpicklist.cxx
+++ b/sfx2/source/appl/sfxpicklist.cxx
@@ -100,7 +100,7 @@ void SfxPickListImpl::AddDocumentToPickList( const 
SfxObjectShell* pDocSh )
             officecfg::Office::Common::History::RecentDocsThumbnail::get())
     {
         // not modified => the document matches what is in the shell
-        const SfxUnoAnyItem* pEncryptionDataItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(pMed->GetItemSet(), SID_ENCRYPTIONDATA, 
false);
+        const SfxUnoAnyItem* pEncryptionDataItem = 
pMed->GetItemSet().GetItem(SID_ENCRYPTIONDATA, false);
         if ( pEncryptionDataItem )
         {
             // encrypted document, will show a generic document icon instead
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx
index 0e9308da6c63..60d900ccb026 100644
--- a/sfx2/source/appl/workwin.cxx
+++ b/sfx2/source/appl/workwin.cxx
@@ -1136,7 +1136,7 @@ bool SfxWorkWindow::IsPluginMode( SfxObjectShell const * 
pObjShell )
 {
     if ( pObjShell && pObjShell->GetMedium() )
     {
-        const SfxBoolItem* pViewOnlyItem = 
SfxItemSet::GetItem<SfxBoolItem>(pObjShell->GetMedium()->GetItemSet(), 
SID_VIEWONLY, false);
+        const SfxBoolItem* pViewOnlyItem = 
pObjShell->GetMedium()->GetItemSet().GetItem(SID_VIEWONLY, false);
         if ( pViewOnlyItem && pViewOnlyItem->GetValue() )
             return true;
     }
diff --git a/sfx2/source/bastyp/fltfnc.cxx b/sfx2/source/bastyp/fltfnc.cxx
index b907bb65faec..ef171e199fa3 100644
--- a/sfx2/source/bastyp/fltfnc.cxx
+++ b/sfx2/source/bastyp/fltfnc.cxx
@@ -373,7 +373,7 @@ ErrCode  SfxFilterMatcher::GuessFilterControlDefaultUI( 
SfxMedium& rMedium, std:
             aDescriptor[utl::MediaDescriptor::PROP_URL               ] <<= 
sURL;
             aDescriptor[utl::MediaDescriptor::PROP_INPUTSTREAM       ] <<= 
xInStream;
             aDescriptor[utl::MediaDescriptor::PROP_INTERACTIONHANDLER] <<= 
rMedium.GetInteractionHandler();
-            SfxStringItem const * it = 
rMedium.GetItemSet()->GetItem(SID_REFERER);
+            SfxStringItem const * it = 
rMedium.GetItemSet().GetItem(SID_REFERER);
             if (it != nullptr) {
                 aDescriptor[utl::MediaDescriptor::PROP_REFERRER]
                     <<= it->GetValue();
@@ -494,7 +494,7 @@ ErrCode SfxFilterMatcher::DetectFilter( SfxMedium& rMedium, 
std::shared_ptr<cons
             pOldFilter = nullptr;
         else
         {
-            const SfxStringItem* pSalvageItem = 
SfxItemSet::GetItem<SfxStringItem>(rMedium.GetItemSet(), SID_DOC_SALVAGE, 
false);
+            const SfxStringItem* pSalvageItem = 
rMedium.GetItemSet().GetItem(SID_DOC_SALVAGE, false);
             if ( ( pOldFilter->GetFilterFlags() & SfxFilterFlags::PACKED ) && 
pSalvageItem )
                 // Salvage is always done without packing
                 pOldFilter = nullptr;
@@ -504,7 +504,7 @@ ErrCode SfxFilterMatcher::DetectFilter( SfxMedium& rMedium, 
std::shared_ptr<cons
     std::shared_ptr<const SfxFilter> pFilter = pOldFilter;
 
     bool bPreview = rMedium.IsPreview_Impl();
-    const SfxStringItem* pReferer = 
SfxItemSet::GetItem<SfxStringItem>(rMedium.GetItemSet(), SID_REFERER, false);
+    const SfxStringItem* pReferer = rMedium.GetItemSet().GetItem(SID_REFERER, 
false);
     if ( bPreview && rMedium.IsRemote() && ( !pReferer || 
!pReferer->GetValue().match("private:searchfolder:") ) )
         return ERRCODE_ABORT;
 
@@ -541,7 +541,7 @@ ErrCode SfxFilterMatcher::DetectFilter( SfxMedium& rMedium, 
std::shared_ptr<cons
     }
 
     bool bHidden = bPreview;
-    const SfxStringItem* pFlags = 
SfxItemSet::GetItem<SfxStringItem>(rMedium.GetItemSet(), SID_OPTIONS, false);
+    const SfxStringItem* pFlags = rMedium.GetItemSet().GetItem(SID_OPTIONS, 
false);
     if ( !bHidden && pFlags )
     {
         OUString aFlags( pFlags->GetValue() );
diff --git a/sfx2/source/bastyp/progress.cxx b/sfx2/source/bastyp/progress.cxx
index 6d73d8316c01..f0dacde85834 100644
--- a/sfx2/source/bastyp/progress.cxx
+++ b/sfx2/source/bastyp/progress.cxx
@@ -208,10 +208,10 @@ void SfxProgress::SetState
             {
                 // don't show status indicator for hidden documents (only 
valid while loading)
                 SfxMedium* pMedium = pObjSh->GetMedium();
-                const SfxBoolItem* pHiddenItem = 
SfxItemSet::GetItem<SfxBoolItem>(pMedium->GetItemSet(), SID_HIDDEN, false);
+                const SfxBoolItem* pHiddenItem = 
pMedium->GetItemSet().GetItem(SID_HIDDEN, false);
                 if ( !pHiddenItem || !pHiddenItem->GetValue() )
                 {
-                    const SfxUnoAnyItem* pIndicatorItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(pMedium->GetItemSet(), 
SID_PROGRESS_STATUSBAR_CONTROL, false);
+                    const SfxUnoAnyItem* pIndicatorItem = 
pMedium->GetItemSet().GetItem(SID_PROGRESS_STATUSBAR_CONTROL, false);
                     Reference< XStatusIndicator > xInd;
                     if ( pIndicatorItem && (pIndicatorItem->GetValue()>>=xInd) 
)
                         pImpl->xStatusInd = xInd;
diff --git a/sfx2/source/control/dispatch.cxx b/sfx2/source/control/dispatch.cxx
index 88377c073155..f7ff0b75e4ec 100644
--- a/sfx2/source/control/dispatch.cxx
+++ b/sfx2/source/control/dispatch.cxx
@@ -1179,7 +1179,7 @@ void SfxDispatcher::Update_Impl_( bool bUIActive, bool 
bIsMDIApp, bool bIsIPOwne
             {
                 bool bViewerTbx( nFlags & SfxVisibilityFlags::Viewer );
                 SfxObjectShell* pSh = xImp->pFrame->GetObjectShell();
-                const SfxBoolItem* pItem = 
SfxItemSet::GetItem<SfxBoolItem>(pSh->GetMedium()->GetItemSet(), SID_VIEWONLY, 
false);
+                const SfxBoolItem* pItem = 
pSh->GetMedium()->GetItemSet().GetItem(SID_VIEWONLY, false);
                 bool bIsViewer = pItem && pItem->GetValue();
                 if ( bIsViewer != bViewerTbx )
                     continue;
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 800f912b2ac9..24c4f509559f 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -775,9 +775,7 @@ IMPL_LINK_NOARG(SfxDocumentPage, ChangePassHdl, 
weld::Button&, void)
     {
         if (!pShell)
             break;
-        SfxItemSet* pMedSet = pShell->GetMedium()->GetItemSet();
-        if (!pMedSet)
-            break;
+        SfxItemSet& rMedSet = pShell->GetMedium()->GetItemSet();
         std::shared_ptr<const SfxFilter> pFilter = 
pShell->GetMedium()->GetFilter();
         if (!pFilter)
             break;
@@ -789,11 +787,11 @@ IMPL_LINK_NOARG(SfxDocumentPage, ChangePassHdl, 
weld::Button&, void)
             VclAbstractDialogFactory * pFact = 
VclAbstractDialogFactory::Create();
             m_xPasswordDialog = 
pFact->CreatePasswordToOpenModifyDialog(GetFrameWeld(), maxPwdLen, false);
             m_xPasswordDialog->AllowEmpty(); // needed to remove password
-            m_xPasswordDialog->StartExecuteAsync([this, pFilter, pMedSet, 
pShell](sal_Int32 nResult)
+            m_xPasswordDialog->StartExecuteAsync([this, pFilter, &rMedSet, 
pShell](sal_Int32 nResult)
             {
                 if (nResult == RET_OK)
                 {
-                    sfx2::SetPassword(pFilter, pMedSet, 
m_xPasswordDialog->GetPasswordToOpen(),
+                    sfx2::SetPassword(pFilter, &rMedSet, 
m_xPasswordDialog->GetPasswordToOpen(),
                                       m_xPasswordDialog->GetPasswordToOpen(), 
true);
                     tools::JsonWriter payloadJson;
                     payloadJson.put("password", 
m_xPasswordDialog->GetPasswordToOpen());
@@ -805,7 +803,7 @@ IMPL_LINK_NOARG(SfxDocumentPage, ChangePassHdl, 
weld::Button&, void)
                 m_xPasswordDialog->disposeOnce();
             });
         } else {
-            sfx2::RequestPassword(pFilter, OUString(), pMedSet, 
GetFrameWeld()->GetXWindow());
+            sfx2::RequestPassword(pFilter, OUString(), &rMedSet, 
GetFrameWeld()->GetXWindow());
             pShell->SetModified();
         }
     }
@@ -855,10 +853,7 @@ void SfxDocumentPage::ImplCheckPasswordState()
     {
         if (!pShell)
             break;
-        SfxItemSet* pMedSet = pShell->GetMedium()->GetItemSet();
-        if (!pMedSet)
-            break;
-        const SfxUnoAnyItem* pEncryptionDataItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(pMedSet, SID_ENCRYPTIONDATA, false);
+        const SfxUnoAnyItem* pEncryptionDataItem = 
pShell->GetMedium()->GetItemSet().GetItem(SID_ENCRYPTIONDATA, false);
         uno::Sequence< beans::NamedValue > aEncryptionData;
         if (pEncryptionDataItem)
             pEncryptionDataItem->GetValue() >>= aEncryptionData;
diff --git a/sfx2/source/dialog/versdlg.cxx b/sfx2/source/dialog/versdlg.cxx
index f4122906d91d..b0904b38ab34 100644
--- a/sfx2/source/dialog/versdlg.cxx
+++ b/sfx2/source/dialog/versdlg.cxx
@@ -265,7 +265,7 @@ void SfxVersionDialog::Open_Impl()
     SfxStringItem aFile( SID_FILE_NAME, pObjShell->GetMedium()->GetName() );
 
     uno::Sequence< beans::NamedValue > aEncryptionData;
-    if ( GetEncryptionData_Impl( pObjShell->GetMedium()->GetItemSet(), 
aEncryptionData ) )
+    if ( GetEncryptionData_Impl( &pObjShell->GetMedium()->GetItemSet(), 
aEncryptionData ) )
     {
         // there is a password, it should be used during the opening
         SfxUnoAnyItem aEncryptionDataItem( SID_ENCRYPTIONDATA, uno::Any( 
aEncryptionData ) );
@@ -355,9 +355,9 @@ IMPL_LINK(SfxVersionDialog, ButtonHdl_Impl, weld::Button&, 
rButton, void)
         aSet.Put(SfxInt16Item(SID_VERSION, nEntry + 1));
         aSet.Put(SfxStringItem(SID_FILE_NAME, 
pObjShell->GetMedium()->GetName()));
 
-        SfxItemSet* pSet = pObjShell->GetMedium()->GetItemSet();
-        const SfxStringItem* pFilterItem = 
SfxItemSet::GetItem<SfxStringItem>(pSet, SID_FILTER_NAME, false);
-        const SfxStringItem* pFilterOptItem = 
SfxItemSet::GetItem<SfxStringItem>(pSet, SID_FILE_FILTEROPTIONS, false);
+        SfxItemSet& rSet = pObjShell->GetMedium()->GetItemSet();
+        const SfxStringItem* pFilterItem = rSet.GetItem(SID_FILTER_NAME, 
false);
+        const SfxStringItem* pFilterOptItem = 
rSet.GetItem(SID_FILE_FILTEROPTIONS, false);
         if ( pFilterItem )
             aSet.Put( *pFilterItem );
         if ( pFilterOptItem )
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 93573acb827b..f195552210ae 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -641,7 +641,7 @@ OUString SfxMedium::GetBaseURL( bool bForSaving )
             return OUString();
     }
 
-    if (const SfxStringItem* pBaseURLItem = 
GetItemSet()->GetItem<SfxStringItem>(SID_DOC_BASEURL))
+    if (const SfxStringItem* pBaseURLItem = 
GetItemSet().GetItem<SfxStringItem>(SID_DOC_BASEURL))
         return pBaseURLItem->GetValue();
 
     OUString aBaseURL;
@@ -664,7 +664,7 @@ OUString SfxMedium::GetBaseURL( bool bForSaving )
 
 bool SfxMedium::IsSkipImages() const
 {
-    const SfxStringItem* pSkipImagesItem = 
GetItemSet()->GetItem<SfxStringItem>(SID_FILE_FILTEROPTIONS);
+    const SfxStringItem* pSkipImagesItem = 
GetItemSet().GetItem<SfxStringItem>(SID_FILE_FILTEROPTIONS);
     return pSkipImagesItem && pSkipImagesItem->GetValue() == "SkipImages";
 }
 
@@ -896,12 +896,12 @@ bool SfxMedium::IsStorage()
 bool SfxMedium::IsPreview_Impl() const
 {
     bool bPreview = false;
-    const SfxBoolItem* pPreview = 
SfxItemSet::GetItem<SfxBoolItem>(GetItemSet(), SID_PREVIEW, false);
+    const SfxBoolItem* pPreview = GetItemSet().GetItem(SID_PREVIEW, false);
     if ( pPreview )
         bPreview = pPreview->GetValue();
     else
     {
-        const SfxStringItem* pFlags = 
SfxItemSet::GetItem<SfxStringItem>(GetItemSet(), SID_OPTIONS, false);
+        const SfxStringItem* pFlags = GetItemSet().GetItem(SID_OPTIONS, false);
         if ( pFlags )
         {
             OUString aFileFlags = pFlags->GetValue();
@@ -1138,7 +1138,7 @@ SfxMedium::ShowLockResult 
SfxMedium::ShowLockedDocumentDialog(const LockFileEntr
             if ( !bOwnLock ) // bIsLoading implied from outermost condition
             {
                 // means that a copy of the document should be opened
-                GetItemSet()->Put( SfxBoolItem( SID_TEMPLATE, true ) );
+                GetItemSet().Put( SfxBoolItem( SID_TEMPLATE, true ) );
             }
             else
                 nResult = ShowLockResult::Succeeded;
@@ -1167,7 +1167,7 @@ SfxMedium::ShowLockResult 
SfxMedium::ShowLockedDocumentDialog(const LockFileEntr
             // TODO/LATER: alien lock on saving, user has selected to retry 
saving
 
             if (bIsLoading)
-                GetItemSet()->Put(SfxBoolItem(SID_DOC_READONLY, true));
+                GetItemSet().Put(SfxBoolItem(SID_DOC_READONLY, true));
             else
                 nResult = ShowLockResult::Try;
         }
@@ -1179,7 +1179,7 @@ SfxMedium::ShowLockResult 
SfxMedium::ShowLockedDocumentDialog(const LockFileEntr
             // if no interaction handler is provided the default answer is 
open readonly
             // that usually happens in case the document is loaded per API
             // so the document must be opened readonly for backward 
compatibility
-            GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, true ) );
+            GetItemSet().Put( SfxBoolItem( SID_DOC_READONLY, true ) );
         }
         else
             SetError(ERRCODE_IO_ACCESSDENIED);
@@ -1232,7 +1232,7 @@ bool SfxMedium::ShowLockFileProblemDialog(MessageDlg 
nWhichDlg)
         }
 
         if (bReadOnly)
-            GetItemSet()->Put(SfxBoolItem(SID_DOC_READONLY, true));
+            GetItemSet().Put(SfxBoolItem(SID_DOC_READONLY, true));
 
         return bReadOnly;
     }
@@ -1320,7 +1320,7 @@ SfxMedium::LockFileResult 
SfxMedium::LockOrigFileOnDemand(bool bLoading, bool bN
             if ( !bResult )
             {
                 // no read-write access is necessary on loading if the 
document is explicitly opened as copy
-                const SfxBoolItem* pTemplateItem = 
SfxItemSet::GetItem<SfxBoolItem>(GetItemSet(), SID_TEMPLATE, false);
+                const SfxBoolItem* pTemplateItem = 
GetItemSet().GetItem(SID_TEMPLATE, false);
                 bIsTemplate = ( bLoading && pTemplateItem && 
pTemplateItem->GetValue() );
             }
 
@@ -1429,7 +1429,7 @@ SfxMedium::LockFileResult 
SfxMedium::LockOrigFileOnDemand(bool bLoading, bool bN
                 if ( !bLoading || (pReadOnlyItem && 
!pReadOnlyItem->GetValue()) )
                     SetError(ERRCODE_IO_ACCESSDENIED);
                 else
-                    GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, true ) );
+                    GetItemSet().Put( SfxBoolItem( SID_DOC_READONLY, true ) );
             }
 
             // when the file is locked, get the current file date
@@ -1462,7 +1462,7 @@ SfxMedium::LockFileResult 
SfxMedium::LockOrigFileOnDemand(bool bLoading, bool bN
         if ( !bResult )
         {
             // no read-write access is necessary on loading if the document is 
explicitly opened as copy
-            const SfxBoolItem* pTemplateItem = 
SfxItemSet::GetItem<SfxBoolItem>(GetItemSet(), SID_TEMPLATE, false);
+            const SfxBoolItem* pTemplateItem = 
GetItemSet().GetItem(SID_TEMPLATE, false);
             bResult = ( bLoading && pTemplateItem && pTemplateItem->GetValue() 
);
         }
 
@@ -1680,7 +1680,7 @@ SfxMedium::LockFileResult 
SfxMedium::LockOrigFileOnDemand(bool bLoading, bool bN
             if ( !bLoading || (pReadOnlyItem && !pReadOnlyItem->GetValue()) )
                 SetError(ERRCODE_IO_ACCESSDENIED);
             else
-                GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, true ) );
+                GetItemSet().Put( SfxBoolItem( SID_DOC_READONLY, true ) );
         }
 
         // when the file is locked, get the current file date
@@ -1720,7 +1720,7 @@ uno::Reference < embed::XStorage > SfxMedium::GetStorage( 
bool bCreateTempFile )
     if ( GetError() )
         return pImpl->xStorage;
 
-    const SfxBoolItem* pRepairItem = 
SfxItemSet::GetItem<SfxBoolItem>(GetItemSet(), SID_REPAIRPACKAGE, false);
+    const SfxBoolItem* pRepairItem = GetItemSet().GetItem(SID_REPAIRPACKAGE, 
false);
     if ( pRepairItem && pRepairItem->GetValue() )
     {
         // the storage should be created for repairing mode
@@ -1730,7 +1730,7 @@ uno::Reference < embed::XStorage > SfxMedium::GetStorage( 
bool bCreateTempFile )
         Reference< css::ucb::XProgressHandler > xProgressHandler;
         Reference< css::task::XStatusIndicator > xStatusIndicator;
 
-        const SfxUnoAnyItem* pxProgressItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(GetItemSet(), 
SID_PROGRESS_STATUSBAR_CONTROL, false);
+        const SfxUnoAnyItem* pxProgressItem = 
GetItemSet().GetItem(SID_PROGRESS_STATUSBAR_CONTROL, false);
         if( pxProgressItem && ( pxProgressItem->GetValue() >>= 
xStatusIndicator ) )
             xProgressHandler.set( new utl::ProgressHandlerWrap( 
xStatusIndicator ) );
 
@@ -1851,7 +1851,7 @@ uno::Reference < embed::XStorage > SfxMedium::GetStorage( 
bool bCreateTempFile )
                     SetPhysicalName_Impl( aTemp );
 
                     pImpl->bIsTemp = true;
-                    GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, true ) );
+                    GetItemSet().Put( SfxBoolItem( SID_DOC_READONLY, true ) );
                     // TODO/MBA
                     pImpl->aVersions.realloc(0);
                 }
@@ -2107,7 +2107,7 @@ void SfxMedium::TransactedTransferForFS_Impl( const 
INetURLObject& aSource,
     if( ::ucbhelper::Content::create( aSource.GetMainURL( 
INetURLObject::DecodeMechanism::NONE ), xDummyEnv, 
comphelper::getProcessComponentContext(), aTempCont ) )
     {
         bool bTransactStarted = false;
-        const SfxBoolItem* pOverWrite = 
SfxItemSet::GetItem<SfxBoolItem>(GetItemSet(), SID_OVERWRITE, false);
+        const SfxBoolItem* pOverWrite = 
GetItemSet().GetItem<SfxBoolItem>(SID_OVERWRITE, false);
         bool bOverWrite = !pOverWrite || pOverWrite->GetValue();
         bool bResult = false;
 
@@ -2211,14 +2211,14 @@ bool SfxMedium::TryDirectTransfer( const OUString& 
aURL, SfxItemSet const & aTar
     // if the document had no password it should be stored without password
     // if the document had password it should be stored with the same password
     // otherwise the stream copying can not be done
-    const SfxStringItem* pNewPassItem = 
aTargetSet.GetItem<SfxStringItem>(SID_PASSWORD, false);
-    const SfxStringItem* pOldPassItem = 
SfxItemSet::GetItem<SfxStringItem>(GetItemSet(), SID_PASSWORD, false);
+    const SfxStringItem* pNewPassItem = aTargetSet.GetItem(SID_PASSWORD, 
false);
+    const SfxStringItem* pOldPassItem = GetItemSet().GetItem(SID_PASSWORD, 
false);
     if ( ( !pNewPassItem && !pOldPassItem )
       || ( pNewPassItem && pOldPassItem && pNewPassItem->GetValue() == 
pOldPassItem->GetValue() ) )
     {
         // the filter must be the same
-        const SfxStringItem* pNewFilterItem = 
aTargetSet.GetItem<SfxStringItem>(SID_FILTER_NAME, false);
-        const SfxStringItem* pOldFilterItem = 
SfxItemSet::GetItem<SfxStringItem>(GetItemSet(), SID_FILTER_NAME, false);
+        const SfxStringItem* pNewFilterItem = 
aTargetSet.GetItem(SID_FILTER_NAME, false);
+        const SfxStringItem* pOldFilterItem = 
GetItemSet().GetItem(SID_FILTER_NAME, false);
         if ( pNewFilterItem && pOldFilterItem && pNewFilterItem->GetValue() == 
pOldFilterItem->GetValue() )
         {
             // get the input stream and copy it
@@ -2472,7 +2472,7 @@ void SfxMedium::Transfer_Impl()
             (void)::ucbhelper::Content::create( aSource.GetMainURL( 
INetURLObject::DecodeMechanism::NONE ), xEnv, 
comphelper::getProcessComponentContext(), aSourceContent );
 
             // check for external parameters that may customize the handling 
of NameClash situations
-            const SfxBoolItem* pOverWrite = 
SfxItemSet::GetItem<SfxBoolItem>(GetItemSet(), SID_OVERWRITE, false);
+            const SfxBoolItem* pOverWrite = 
GetItemSet().GetItem<SfxBoolItem>(SID_OVERWRITE, false);
             sal_Int32 nNameClash;
             if ( pOverWrite && !pOverWrite->GetValue() )
                 // argument says: never overwrite
@@ -2490,9 +2490,9 @@ void SfxMedium::Transfer_Impl()
                 if ( IsInCheckIn( ) )
                 {
                     eOperation = ::ucbhelper::InsertOperation::Checkin;
-                    const SfxBoolItem* pMajor = 
SfxItemSet::GetItem<SfxBoolItem>(GetItemSet(), SID_DOCINFO_MAJOR, false);
+                    const SfxBoolItem* pMajor = 
GetItemSet().GetItem<SfxBoolItem>(SID_DOCINFO_MAJOR, false);
                     bMajor = pMajor && pMajor->GetValue( );
-                    const SfxStringItem* pComments = 
SfxItemSet::GetItem<SfxStringItem>(GetItemSet(), SID_DOCINFO_COMMENTS, false);
+                    const SfxStringItem* pComments = 
GetItemSet().GetItem(SID_DOCINFO_COMMENTS, false);
                     if ( pComments )
                         sComment = pComments->GetValue( );
                 }
@@ -2753,7 +2753,7 @@ void SfxMedium::GetLockingStream_Impl()
 
     // open the original document
     uno::Sequence< beans::PropertyValue > xProps;
-    TransformItems( SID_OPENDOC, *GetItemSet(), xProps );
+    TransformItems( SID_OPENDOC, GetItemSet(), xProps );
     utl::MediaDescriptor aMedium( xProps );
 
     aMedium.addInputStreamOwnLock();
@@ -2824,22 +2824,22 @@ void SfxMedium::GetMedium_Impl()
 
         if ( !bFromTempFile )
         {
-            GetItemSet()->Put( SfxStringItem( SID_FILE_NAME, aFileName ) );
+            GetItemSet().Put( SfxStringItem( SID_FILE_NAME, aFileName ) );
             if( !(pImpl->m_nStorOpenMode & StreamMode::WRITE) )
-                GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, true ) );
+                GetItemSet().Put( SfxBoolItem( SID_DOC_READONLY, true ) );
             if (xInteractionHandler.is())
-                GetItemSet()->Put( SfxUnoAnyItem( SID_INTERACTIONHANDLER, 
Any(xInteractionHandler) ) );
+                GetItemSet().Put( SfxUnoAnyItem( SID_INTERACTIONHANDLER, 
Any(xInteractionHandler) ) );
         }
 
         if ( pImpl->m_xInputStreamToLoadFrom.is() )
         {
             pImpl->xInputStream = pImpl->m_xInputStreamToLoadFrom;
             if (pImpl->m_bInputStreamIsReadOnly)
-                GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, true ) );
+                GetItemSet().Put( SfxBoolItem( SID_DOC_READONLY, true ) );
         }
         else
         {
-            TransformItems( SID_OPENDOC, *GetItemSet(), xProps );
+            TransformItems( SID_OPENDOC, GetItemSet(), xProps );
             utl::MediaDescriptor aMedium( xProps );
 
             if ( pImpl->m_xLockingStream.is() && !bFromTempFile )
@@ -2887,9 +2887,9 @@ void SfxMedium::GetMedium_Impl()
         {
             //TODO/MBA: need support for SID_STREAM
             if ( pImpl->xStream.is() )
-                GetItemSet()->Put( SfxUnoAnyItem( SID_STREAM, Any( 
pImpl->xStream ) ) );
+                GetItemSet().Put( SfxUnoAnyItem( SID_STREAM, Any( 
pImpl->xStream ) ) );
 
-            GetItemSet()->Put( SfxUnoAnyItem( SID_INPUTSTREAM, Any( 
pImpl->xInputStream ) ) );
+            GetItemSet().Put( SfxUnoAnyItem( SID_INPUTSTREAM, Any( 
pImpl->xInputStream ) ) );
         }
     }
 
@@ -2992,7 +2992,7 @@ void SfxMedium::Init_Impl()
                 pImpl->m_aLogicName = aUrl.GetURLNoMark( 
INetURLObject::DecodeMechanism::NONE );
                 if (chkEditLock.owns_lock())
                     chkEditLock.unlock();
-                GetItemSet()->Put( SfxStringItem( SID_JUMPMARK, aUrl.GetMark() 
) );
+                GetItemSet().Put( SfxStringItem( SID_JUMPMARK, aUrl.GetMark() 
) );
             }
 
             // try to convert the URL into a physical name - but never change 
a physical name
@@ -3037,7 +3037,7 @@ void SfxMedium::Init_Impl()
         if ( !pFileNameItem )
         {
             // let the ItemSet be created if necessary
-            GetItemSet()->Put(
+            GetItemSet().Put(
                 SfxStringItem(
                     SID_FILE_NAME, INetURLObject( pImpl->m_aLogicName 
).GetMainURL( INetURLObject::DecodeMechanism::NONE ) ) );
         }
@@ -3439,9 +3439,9 @@ SfxMedium::SfxMedium(const OUString &rName, const 
OUString &rReferer, StreamMode
     pImpl(new SfxMedium_Impl)
 {
     pImpl->m_pSet = pInSet;
-    SfxItemSet * s = GetItemSet();
-    if (s->GetItem(SID_REFERER) == nullptr) {
-        s->Put(SfxStringItem(SID_REFERER, rReferer));
+    SfxItemSet& s = GetItemSet();
+    if (s.GetItem(SID_REFERER) == nullptr) {
+        s.Put(SfxStringItem(SID_REFERER, rReferer));
     }
     pImpl->m_pFilter = std::move(pFilter);
     pImpl->m_aLogicName = rName;
@@ -3541,9 +3541,9 @@ SfxMedium::SfxMedium( const uno::Reference < 
embed::XStorage >& rStor, const OUS
     pImpl->bDisposeStorage = false;
 
     // always take BaseURL first, could be overwritten by ItemSet
-    GetItemSet()->Put( SfxStringItem( SID_DOC_BASEURL, rBaseURL ) );
+    GetItemSet().Put( SfxStringItem( SID_DOC_BASEURL, rBaseURL ) );
     if ( p )
-        GetItemSet()->Put( *p );
+        GetItemSet().Put( *p );
 }
 
 
@@ -3558,9 +3558,9 @@ SfxMedium::SfxMedium( const uno::Reference < 
embed::XStorage >& rStor, const OUS
     pImpl->bDisposeStorage = false;
 
     // always take BaseURL first, could be overwritten by ItemSet
-    GetItemSet()->Put( SfxStringItem( SID_DOC_BASEURL, rBaseURL ) );
+    GetItemSet().Put( SfxStringItem( SID_DOC_BASEURL, rBaseURL ) );
     if ( p )
-        GetItemSet()->Put( *p );
+        GetItemSet().Put( *p );
 }
 
 // NOTE: should only be called on main thread
@@ -3644,12 +3644,11 @@ void SfxMedium::SetStorage_Impl( const uno::Reference < 
embed::XStorage >& rStor
 }
 
 
-SfxItemSet* SfxMedium::GetItemSet() const
+SfxItemSet& SfxMedium::GetItemSet() const
 {
-    // this method *must* return an ItemSet, returning NULL can cause crashes
     if (!pImpl->m_pSet)
         pImpl->m_pSet = std::make_shared<SfxAllItemSet>( 
SfxGetpApp()->GetPool() );
-    return pImpl->m_pSet.get();
+    return *pImpl->m_pSet;
 }
 
 
@@ -3809,7 +3808,7 @@ bool SfxMedium::IsReadOnly() const
     // c) the API can force the readonly state!
     if (!bReadOnly)
     {
-        const SfxBoolItem* pItem = 
SfxItemSet::GetItem<SfxBoolItem>(GetItemSet(), SID_DOC_READONLY, false);
+        const SfxBoolItem* pItem = GetItemSet().GetItem(SID_DOC_READONLY, 
false);
         if (pItem)
             bReadOnly = pItem->GetValue();
     }
@@ -4440,7 +4439,7 @@ OUString SfxMedium::SwitchDocumentToTempFile()
                 const SfxBoolItem* pReadOnlyItem = 
SfxItemSet::GetItem<SfxBoolItem>(pImpl->m_pSet.get(), SID_DOC_READONLY, false);
                 if ( pReadOnlyItem && pReadOnlyItem->GetValue() )
                     bWasReadonly = true;
-                GetItemSet()->ClearItem( SID_DOC_READONLY );
+                GetItemSet().ClearItem( SID_DOC_READONLY );
 
                 GetMedium_Impl();
                 LockOrigFileOnDemand( false, false );
@@ -4463,7 +4462,7 @@ OUString SfxMedium::SwitchDocumentToTempFile()
                 {
                     // set the readonly state back
                     pImpl->m_nStorOpenMode = SFX_STREAM_READONLY;
-                    GetItemSet()->Put(SfxBoolItem(SID_DOC_READONLY, true));
+                    GetItemSet().Put(SfxBoolItem(SID_DOC_READONLY, true));
                 }
 
                 if ( aResult.isEmpty() )
diff --git a/sfx2/source/doc/objcont.cxx b/sfx2/source/doc/objcont.cxx
index fb75f3fdffc3..7caf864dd32a 100644
--- a/sfx2/source/doc/objcont.cxx
+++ b/sfx2/source/doc/objcont.cxx
@@ -462,7 +462,7 @@ void SfxObjectShell::UpdateFromTemplate_Impl(  )
     if ( !pFile->GetFilter() || !pFile->GetFilter()->IsOwnFormat() )
         return;
 
-    const SfxUInt16Item* pUpdateDocItem = 
SfxItemSet::GetItem<SfxUInt16Item>(pFile->GetItemSet(), SID_UPDATEDOCMODE, 
false);
+    const SfxUInt16Item* pUpdateDocItem = 
pFile->GetItemSet().GetItem(SID_UPDATEDOCMODE, false);
     sal_Int16 bCanUpdateFromTemplate = pUpdateDocItem ? 
pUpdateDocItem->GetValue() : document::UpdateDocMode::NO_UPDATE;
 
     // created from template?
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
index d0f49831db0c..a5fb72251bf1 100644
--- a/sfx2/source/doc/objmisc.cxx
+++ b/sfx2/source/doc/objmisc.cxx
@@ -406,7 +406,7 @@ void SfxObjectShell::SetReadOnly()
         pMedium->CloseInStream();
 
     pMedium->SetOpenMode( SFX_STREAM_READONLY, true );
-    pMedium->GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, true ) );
+    pMedium->GetItemSet().Put( SfxBoolItem( SID_DOC_READONLY, true ) );
 
     if ( !bWasROUI )
         Broadcast( SfxHint(SfxHintId::ModeChanged) );
@@ -736,7 +736,7 @@ OUString SfxObjectShell::GetTitle( sal_uInt16  nMaxLength ) 
const
 
         if ( pMed )
         {
-            const SfxStringItem* pNameItem = 
SfxItemSet::GetItem<SfxStringItem>(pMed->GetItemSet(), SID_DOCINFO_TITLE, 
false);
+            const SfxStringItem* pNameItem = 
pMed->GetItemSet().GetItem(SID_DOCINFO_TITLE, false);
             if ( pNameItem )
                 aTitle = pNameItem->GetValue();
         }
@@ -757,7 +757,7 @@ OUString SfxObjectShell::GetTitle( sal_uInt16  nMaxLength ) 
const
         // If a specific title was given at open:
         // important for URLs: use INetProtocol::File for which the set title 
is not
         // considered. (See below, analysis of aTitleMap_Impl)
-        const SfxStringItem* pNameItem = 
SfxItemSet::GetItem<SfxStringItem>(pMed->GetItemSet(), SID_DOCINFO_TITLE, 
false);
+        const SfxStringItem* pNameItem = 
pMed->GetItemSet().GetItem(SID_DOCINFO_TITLE, false);
         if ( pNameItem )
             return pNameItem->GetValue();
     }
@@ -906,7 +906,7 @@ void SfxObjectShell::PostActivateEvent_Impl( SfxViewFrame 
const * pFrame )
     if ( pSfxApp->IsDowning() || IsLoading() || !pFrame || 
pFrame->GetFrame().IsClosing_Impl() )
         return;
 
-    const SfxBoolItem* pHiddenItem = 
SfxItemSet::GetItem<SfxBoolItem>(pMedium->GetItemSet(), SID_HIDDEN, false);
+    const SfxBoolItem* pHiddenItem = pMedium->GetItemSet().GetItem(SID_HIDDEN, 
false);
     if ( !pHiddenItem || !pHiddenItem->GetValue() )
     {
         SfxEventHintId nId = pImpl->nEventId;
@@ -1040,29 +1040,29 @@ void SfxObjectShell::InitOwnModel_Impl()
     if ( pImpl->bModelInitialized )
         return;
 
-    const SfxStringItem* pSalvageItem = 
SfxItemSet::GetItem<SfxStringItem>(pMedium->GetItemSet(), SID_DOC_SALVAGE, 
false);
+    const SfxStringItem* pSalvageItem = 
pMedium->GetItemSet().GetItem(SID_DOC_SALVAGE, false);
     if ( pSalvageItem )
     {
         pImpl->aTempName = pMedium->GetPhysicalName();
-        pMedium->GetItemSet()->ClearItem( SID_DOC_SALVAGE );
-        pMedium->GetItemSet()->ClearItem( SID_FILE_NAME );
-        pMedium->GetItemSet()->Put( SfxStringItem( SID_FILE_NAME, 
pMedium->GetOrigURL() ) );
+        pMedium->GetItemSet().ClearItem( SID_DOC_SALVAGE );
+        pMedium->GetItemSet().ClearItem( SID_FILE_NAME );
+        pMedium->GetItemSet().Put( SfxStringItem( SID_FILE_NAME, 
pMedium->GetOrigURL() ) );
     }
     else
     {
-        pMedium->GetItemSet()->ClearItem( SID_PROGRESS_STATUSBAR_CONTROL );
-        pMedium->GetItemSet()->ClearItem( SID_DOCUMENT );
+        pMedium->GetItemSet().ClearItem( SID_PROGRESS_STATUSBAR_CONTROL );
+        pMedium->GetItemSet().ClearItem( SID_DOCUMENT );
     }
 
-    pMedium->GetItemSet()->ClearItem( SID_REFERER );
+    pMedium->GetItemSet().ClearItem( SID_REFERER );
     uno::Reference< frame::XModel >  xModel = GetModel();
     if ( xModel.is() )
     {
-        SfxItemSet *pSet = GetMedium()->GetItemSet();
+        SfxItemSet& rSet = GetMedium()->GetItemSet();
         if ( !GetMedium()->IsReadOnly() )
-            pSet->ClearItem( SID_INPUTSTREAM );
+            rSet.ClearItem( SID_INPUTSTREAM );
         uno::Sequence< beans::PropertyValue > aArgs;
-        TransformItems( SID_OPENDOC, *pSet, aArgs );
+        TransformItems( SID_OPENDOC, rSet, aArgs );
         xModel->attachResource( GetMedium()->GetOrigURL(), aArgs );
         impl_addToModelCollection(xModel);
     }
@@ -1073,7 +1073,7 @@ void SfxObjectShell::InitOwnModel_Impl()
 void SfxObjectShell::FinishedLoading( SfxLoadedFlags nFlags )
 {
     bool bSetModifiedTRUE = false;
-    const SfxStringItem* pSalvageItem = 
SfxItemSet::GetItem<SfxStringItem>(pMedium->GetItemSet(), SID_DOC_SALVAGE, 
false);
+    const SfxStringItem* pSalvageItem = 
pMedium->GetItemSet().GetItem(SID_DOC_SALVAGE, false);
     if( ( nFlags & SfxLoadedFlags::MAINDOCUMENT ) && !(pImpl->nLoadedFlags & 
SfxLoadedFlags::MAINDOCUMENT )
         && !(pImpl->nFlagsInProgress & SfxLoadedFlags::MAINDOCUMENT ))
     {
@@ -1132,7 +1132,7 @@ void SfxObjectShell::FinishedLoading( SfxLoadedFlags 
nFlags )
 
     if ( (pImpl->nLoadedFlags & SfxLoadedFlags::MAINDOCUMENT ) && 
(pImpl->nLoadedFlags & SfxLoadedFlags::IMAGES ) )
     {
-        const SfxBoolItem* pTemplateItem = 
SfxItemSet::GetItem<SfxBoolItem>(pMedium->GetItemSet(), SID_TEMPLATE, false);
+        const SfxBoolItem* pTemplateItem = 
pMedium->GetItemSet().GetItem(SID_TEMPLATE, false);
         bool bTemplate = pTemplateItem && pTemplateItem->GetValue();
 
         // closing the streams on loading should be under control of SFX!
@@ -1169,7 +1169,7 @@ void SfxObjectShell::TemplateDisconnectionAfterLoad()
         return;
 
     const OUString aName( pTmpMedium->GetName() );
-    const SfxStringItem* pTemplNamItem = 
SfxItemSet::GetItem<SfxStringItem>(pTmpMedium->GetItemSet(), SID_TEMPLATE_NAME, 
false);
+    const SfxStringItem* pTemplNamItem = 
pTmpMedium->GetItemSet().GetItem(SID_TEMPLATE_NAME, false);
     OUString aTemplateName;
     if ( pTemplNamItem )
         aTemplateName = pTemplNamItem->GetValue();
@@ -1215,7 +1215,7 @@ void SfxObjectShell::TemplateDisconnectionAfterLoad()
         assert(pMedium != nullptr);
         if( ok )
         {
-            const SfxStringItem* pSalvageItem = 
SfxItemSet::GetItem<SfxStringItem>(pMedium->GetItemSet(), SID_DOC_SALVAGE, 
false);
+            const SfxStringItem* pSalvageItem = 
pMedium->GetItemSet().GetItem(SID_DOC_SALVAGE, false);
             bool bSalvage = pSalvageItem != nullptr;
 
             if ( !bSalvage )
@@ -1240,7 +1240,7 @@ void SfxObjectShell::TemplateDisconnectionAfterLoad()
     }
 
     // templates are never readonly
-    pTmpMedium->GetItemSet()->ClearItem( SID_DOC_READONLY );
+    pTmpMedium->GetItemSet().ClearItem( SID_DOC_READONLY );
     pTmpMedium->SetOpenMode( SFX_STREAM_READWRITE, true );
 
     // notifications about possible changes in readonly state and document info
@@ -1555,7 +1555,7 @@ bool SfxObjectShell::IsPreview() const
         return false;
 
     bool bPreview = false;
-    const SfxStringItem* pFlags = 
SfxItemSet::GetItem<SfxStringItem>(pMedium->GetItemSet(), SID_OPTIONS, false);
+    const SfxStringItem* pFlags = pMedium->GetItemSet().GetItem(SID_OPTIONS, 
false);
     if ( pFlags )
     {
         // Distributed values among individual items
@@ -1566,7 +1566,7 @@ bool SfxObjectShell::IsPreview() const
 
     if ( !bPreview )
     {
-        const SfxBoolItem* pItem = 
SfxItemSet::GetItem<SfxBoolItem>(pMedium->GetItemSet(), SID_PREVIEW, false);
+        const SfxBoolItem* pItem = pMedium->GetItemSet().GetItem(SID_PREVIEW, 
false);
         if ( pItem )
             bPreview = pItem->GetValue();
     }
@@ -1618,8 +1618,8 @@ bool SfxObjectShell::AdjustMacroMode()
 css::uno::Reference<css::awt::XWindow> SfxObjectShell::GetDialogParent( 
SfxMedium const * pLoadingMedium )
 {
     css::uno::Reference<css::awt::XWindow> xWindow;
-    SfxItemSet* pSet = pLoadingMedium ? pLoadingMedium->GetItemSet() : 
GetMedium()->GetItemSet();
-    const SfxUnoFrameItem* pUnoItem = 
SfxItemSet::GetItem<SfxUnoFrameItem>(pSet, SID_FILLFRAME, false);
+    SfxItemSet& rSet = pLoadingMedium ? pLoadingMedium->GetItemSet() : 
GetMedium()->GetItemSet();
+    const SfxUnoFrameItem* pUnoItem = rSet.GetItem(SID_FILLFRAME, false);
     if ( pUnoItem )
     {
         const uno::Reference < frame::XFrame >& xFrame( pUnoItem->GetFrame() );
@@ -1629,7 +1629,7 @@ css::uno::Reference<css::awt::XWindow> 
SfxObjectShell::GetDialogParent( SfxMediu
     if (!xWindow)
     {
         SfxFrame* pFrame = nullptr;
-        const SfxFrameItem* pFrameItem = 
SfxItemSet::GetItem<SfxFrameItem>(pSet, SID_DOCFRAME, false);
+        const SfxFrameItem* pFrameItem = 
rSet.GetItem<SfxFrameItem>(SID_DOCFRAME, false);
         if( pFrameItem && pFrameItem->GetFrame() )
             // get target frame from ItemSet
             pFrame = pFrameItem->GetFrame();
@@ -1654,7 +1654,7 @@ css::uno::Reference<css::awt::XWindow> 
SfxObjectShell::GetDialogParent( SfxMediu
     if (xWindow)
     {
         // this frame may be invisible, show it if it is allowed
-        const SfxBoolItem* pHiddenItem = 
SfxItemSet::GetItem<SfxBoolItem>(pSet, SID_HIDDEN, false);
+        const SfxBoolItem* pHiddenItem = rSet.GetItem(SID_HIDDEN, false);
         if ( !pHiddenItem || !pHiddenItem->GetValue() )
         {
             xWindow->setVisible(true);
@@ -1729,7 +1729,7 @@ sal_Int16 SfxObjectShell_Impl::getCurrentMacroExecMode() 
const
     OSL_PRECOND( pMedium, "SfxObjectShell_Impl::getCurrentMacroExecMode: no 
medium!" );
     if ( pMedium )
     {
-        const SfxUInt16Item* pMacroModeItem = 
SfxItemSet::GetItem<SfxUInt16Item>(pMedium->GetItemSet(), SID_MACROEXECMODE, 
false);
+        const SfxUInt16Item* pMacroModeItem = 
pMedium->GetItemSet().GetItem(SID_MACROEXECMODE, false);
         if ( pMacroModeItem )
             nImposedExecMode = pMacroModeItem->GetValue();
     }
@@ -1742,7 +1742,7 @@ void SfxObjectShell_Impl::setCurrentMacroExecMode( 
sal_uInt16 nMacroMode )
     OSL_PRECOND( pMedium, "SfxObjectShell_Impl::getCurrentMacroExecMode: no 
medium!" );
     if ( pMedium )
     {
-        pMedium->GetItemSet()->Put( SfxUInt16Item( SID_MACROEXECMODE, 
nMacroMode ) );
+        pMedium->GetItemSet().Put( SfxUInt16Item( SID_MACROEXECMODE, 
nMacroMode ) );
     }
 }
 
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index caa1b800f41e..47ee9d4415a8 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -949,7 +949,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
                 if ( nId == SID_SAVEASDOC || nId == SID_SAVEASREMOTE )
                 {
                     // in case of plugin mode the SaveAs operation means SaveTo
-                    const SfxBoolItem* pViewOnlyItem = 
SfxItemSet::GetItem<SfxBoolItem>(GetMedium()->GetItemSet(), SID_VIEWONLY, 
false);
+                    const SfxBoolItem* pViewOnlyItem = 
GetMedium()->GetItemSet().GetItem(SID_VIEWONLY, false);
                     if ( pViewOnlyItem && pViewOnlyItem->GetValue() )
                         rReq.AppendItem( SfxBoolItem( SID_SAVETO, true ) );
                 }
@@ -980,7 +980,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
                         {
                             // in case of saving it is not possible to 
transport the parameters from here
                             // but it is not clear here whether the saving 
will be done or saveAs operation
-                            GetMedium()->GetItemSet()->Put( aStatIndItem );
+                            GetMedium()->GetItemSet().Put( aStatIndItem );
                         }
 
                         rReq.AppendItem( aStatIndItem );
@@ -990,7 +990,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
                 {
                     // in case of saving it is not possible to transport the 
parameters from here
                     // but it is not clear here whether the saving will be 
done or saveAs operation
-                    GetMedium()->GetItemSet()->Put( *pStatusIndicatorItem );
+                    GetMedium()->GetItemSet().Put( *pStatusIndicatorItem );
                 }
 
                 // Introduce an interaction handler for GUI operation
@@ -1012,7 +1012,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
                     {
                         // in case of saving it is not possible to transport 
the parameters from here
                         // but it is not clear here whether the saving will be 
done or saveAs operation
-                        GetMedium()->GetItemSet()->Put( aInteractionItem );
+                        GetMedium()->GetItemSet().Put( aInteractionItem );
                     }
 
                     rReq.AppendItem( aInteractionItem );
@@ -1021,12 +1021,12 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
                 {
                     // in case of saving it is not possible to transport the 
parameters from here
                     // but it is not clear here whether the saving will be 
done or saveAs operation
-                    GetMedium()->GetItemSet()->Put( *pInteractionHandlerItem );
+                    GetMedium()->GetItemSet().Put( *pInteractionHandlerItem );
                 }
 
 
-                const SfxStringItem* pOldPasswordItem = 
SfxItemSet::GetItem<SfxStringItem>(GetMedium()->GetItemSet(), SID_PASSWORD, 
false);
-                const SfxUnoAnyItem* pOldEncryptionDataItem = 
SfxItemSet::GetItem<SfxUnoAnyItem>(GetMedium()->GetItemSet(), 
SID_ENCRYPTIONDATA, false);
+                const SfxStringItem* pOldPasswordItem = 
GetMedium()->GetItemSet().GetItem(SID_PASSWORD, false);
+                const SfxUnoAnyItem* pOldEncryptionDataItem = 
GetMedium()->GetItemSet().GetItem(SID_ENCRYPTIONDATA, false);
                 const bool bPreselectPassword
                     = pOldPasswordItem || pOldEncryptionDataItem
                       || (IsLoadReadonly()
diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index 44b9730e149c..4044bc72fdef 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -477,9 +477,9 @@ bool SfxObjectShell::DoInitNew()
         uno::Reference< frame::XModel >  xModel = GetModel();
         if ( xModel.is() )
         {
-            SfxItemSet *pSet = GetMedium()->GetItemSet();
+            SfxItemSet &rSet = GetMedium()->GetItemSet();
             uno::Sequence< beans::PropertyValue > aArgs;
-            TransformItems( SID_OPENDOC, *pSet, aArgs );
+            TransformItems( SID_OPENDOC, rSet, aArgs );
             sal_Int32 nLength = aArgs.getLength();
             aArgs.realloc( nLength + 1 );
             auto pArgs = aArgs.getArray();
@@ -524,7 +524,7 @@ bool SfxObjectShell::ImportFromGeneratedStream_Impl(
 
         SfxAllItemSet aSet( SfxGetpApp()->GetPool() );
         TransformParameters( SID_OPENDOC, rMediaDescr, aSet );
-        pMedium->GetItemSet()->Put( aSet );
+        pMedium->GetItemSet().Put( aSet );
         pMedium->CanDisposeStorage_Impl( false );
         uno::Reference<text::XTextRange> xInsertTextRange;
         for (const auto& rProp : rMediaDescr)
@@ -578,18 +578,18 @@ bool SfxObjectShell::DoLoad( SfxMedium *pMed )
 
     bool bOk = false;
     std::shared_ptr<const SfxFilter> pFilter = pMed->GetFilter();
-    SfxItemSet* pSet = pMedium->GetItemSet();
+    SfxItemSet& rSet = pMedium->GetItemSet();
     if( pImpl->nEventId == SfxEventHintId::NONE )
     {
-        const SfxBoolItem* pTemplateItem = 
SfxItemSet::GetItem<SfxBoolItem>(pSet, SID_TEMPLATE, false);
+        const SfxBoolItem* pTemplateItem = rSet.GetItem(SID_TEMPLATE, false);
         SetActivateEvent_Impl(
             ( pTemplateItem && pTemplateItem->GetValue() )
             ? SfxEventHintId::CreateDoc : SfxEventHintId::OpenDoc );
     }
 
-    const SfxStringItem* pBaseItem = SfxItemSet::GetItem<SfxStringItem>(pSet, 
SID_BASEURL, false);
+    const SfxStringItem* pBaseItem = rSet.GetItem(SID_BASEURL, false);
     OUString aBaseURL;
-    const SfxStringItem* pSalvageItem = 
SfxItemSet::GetItem<SfxStringItem>(pMedium->GetItemSet(), SID_DOC_SALVAGE, 
false);
+    const SfxStringItem* pSalvageItem = rSet.GetItem(SID_DOC_SALVAGE, false);
     if( pBaseItem )
         aBaseURL = pBaseItem->GetValue();
     else
@@ -601,7 +601,7 @@ bool SfxObjectShell::DoLoad( SfxMedium *pMed )
         else
             aBaseURL = pMed->GetBaseURL();
     }
-    pMed->GetItemSet()->Put( SfxStringItem( SID_DOC_BASEURL, aBaseURL ) );
+    pMed->GetItemSet().Put( SfxStringItem( SID_DOC_BASEURL, aBaseURL ) );
 
     pImpl->nLoadedFlags = SfxLoadedFlags::NONE;
     pImpl->bModelInitialized = false;
@@ -629,7 +629,7 @@ bool SfxObjectShell::DoLoad( SfxMedium *pMed )
             SetError(nError);
 
         if (pMedium->GetFilter()->GetFilterFlags() & 
SfxFilterFlags::STARTPRESENTATION)
-            pSet->Put( SfxBoolItem( SID_DOC_STARTPRESENTATION, true) );
+            rSet.Put( SfxBoolItem( SID_DOC_STARTPRESENTATION, true) );
     }
 
     EnableSetModified( false );
@@ -648,7 +648,7 @@ bool SfxObjectShell::DoLoad( SfxMedium *pMed )
             try
             {
                 bool bWarnMediaTypeFallback = false;
-                const SfxBoolItem* pRepairPackageItem = 
SfxItemSet::GetItem<SfxBoolItem>(pMedium->GetItemSet(), SID_REPAIRPACKAGE, 
false);
+                const SfxBoolItem* pRepairPackageItem = 
rSet.GetItem(SID_REPAIRPACKAGE, false);
 
                 // treat the package as broken if the mediatype was retrieved 
as a fallback
                 uno::Reference< beans::XPropertySet > xStorProps( xStorage, 
uno::UNO_QUERY_THROW );
@@ -658,7 +658,7 @@ bool SfxObjectShell::DoLoad( SfxMedium *pMed )
                 if ( pRepairPackageItem && pRepairPackageItem->GetValue() )
                 {
                     // the macros in repaired documents should be disabled
-                    pMedium->GetItemSet()->Put( SfxUInt16Item( 
SID_MACROEXECMODE, document::MacroExecMode::NEVER_EXECUTE ) );
+                    pMedium->GetItemSet().Put( SfxUInt16Item( 
SID_MACROEXECMODE, document::MacroExecMode::NEVER_EXECUTE ) );
 
                     // the mediatype was retrieved by using fallback solution 
but this is a repairing mode
                     // so it is acceptable to open the document if there is no 
contents that required manifest.xml
@@ -683,7 +683,7 @@ bool SfxObjectShell::DoLoad( SfxMedium *pMed )
                 if ( bOk )
                 {
                     // the document loaded from template has no name
-                    const SfxBoolItem* pTemplateItem = 
SfxItemSet::GetItem<SfxBoolItem>(pMedium->GetItemSet(), SID_TEMPLATE, false);
+                    const SfxBoolItem* pTemplateItem = 
rSet.GetItem(SID_TEMPLATE, false);
                     if ( !pTemplateItem || !pTemplateItem->GetValue() )
                         bHasName = true;
                 }
@@ -822,9 +822,9 @@ bool SfxObjectShell::DoLoad( SfxMedium *pMed )
 

... etc. - the rest is truncated

Reply via email to