sc/source/filter/xml/SparklineGroupsImportContext.cxx  |    5 
 sc/source/filter/xml/XMLCalculationSettingsContext.cxx |    4 
 sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx |   12 
 sc/source/filter/xml/XMLExportDDELinks.cxx             |    4 
 sc/source/filter/xml/XMLStylesExportHelper.cxx         |    9 
 sc/source/filter/xml/XMLTrackedChangesContext.cxx      |    9 
 sc/source/filter/xml/xmlcelli.cxx                      |   61 ++-
 sc/source/filter/xml/xmlcoli.cxx                       |    9 
 sc/source/filter/xml/xmlcondformat.cxx                 |    1 
 sc/source/filter/xml/xmlcvali.cxx                      |    3 
 sc/source/filter/xml/xmlexprt.cxx                      |  277 ++++++++---------
 sc/source/filter/xml/xmlexprt.hxx                      |    6 
 sc/source/filter/xml/xmlfonte.cxx                      |   20 -
 sc/source/filter/xml/xmlimprt.cxx                      |  133 ++++----
 sc/source/filter/xml/xmlimprt.hxx                      |    6 
 sc/source/filter/xml/xmlnexpi.cxx                      |    5 
 sc/source/filter/xml/xmlrowi.cxx                       |   14 
 sc/source/filter/xml/xmlstyli.cxx                      |    4 
 sc/source/filter/xml/xmlsubti.cxx                      |   14 
 19 files changed, 327 insertions(+), 269 deletions(-)

New commits:
commit 91abc314b7de5d8abe2292cd732646c03ac22915
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Nov 25 13:05:51 2024 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Wed Nov 27 12:13:41 2024 +0100

    sc: use SAL_RET_MAYBENULL in GetDocument()
    
    mpDoc can be nullptr
    while at it, prefix it as a member
    
    Change-Id: I48233bc4bfcd87a382e29ba9b9ee053612ba6bd8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177258
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    Tested-by: Jenkins

diff --git a/sc/source/filter/xml/SparklineGroupsImportContext.cxx 
b/sc/source/filter/xml/SparklineGroupsImportContext.cxx
index 4f85ae1108c1..011119f9f6dd 100644
--- a/sc/source/filter/xml/SparklineGroupsImportContext.cxx
+++ b/sc/source/filter/xml/SparklineGroupsImportContext.cxx
@@ -238,6 +238,8 @@ void SparklineGroupsImportContext::fillSparklineAttributes(
     SparklineImportData& rImportData, 
uno::Reference<xml::sax::XFastAttributeList> const& xAttrList)
 {
     ScDocument* pDocument = GetScImport().GetDocument();
+    if (!pDocument)
+        return;
 
     for (auto& rIter : sax_fastparser::castToFastAttributeList(xAttrList))
     {
@@ -348,6 +350,9 @@ uno::Reference<xml::sax::XFastContextHandler>
 void SparklineGroupsImportContext::insertSparklines()
 {
     ScDocument* pDocument = GetScImport().GetDocument();
+    if (!pDocument)
+        return;
+
     for (auto const& rSparklineImportData : m_aCurrentSparklineDataList)
     {
         auto* pSparkline
diff --git a/sc/source/filter/xml/XMLCalculationSettingsContext.cxx 
b/sc/source/filter/xml/XMLCalculationSettingsContext.cxx
index 645da6c59773..d57111e66295 100644
--- a/sc/source/filter/xml/XMLCalculationSettingsContext.cxx
+++ b/sc/source/filter/xml/XMLCalculationSettingsContext.cxx
@@ -126,10 +126,10 @@ void SAL_CALL 
ScXMLCalculationSettingsContext::endFastElement( sal_Int32 /*nElem
     xPropertySet->setPropertyValue( SC_UNO_ITERCOUNT, 
uno::Any(nIterationCount) );
     xPropertySet->setPropertyValue( SC_UNO_ITEREPSILON, 
uno::Any(fIterationEpsilon) );
     xPropertySet->setPropertyValue( SC_UNO_NULLDATE, uno::Any(aNullDate) );
-    if (GetScImport().GetDocument())
+    if (ScDocument* pDoc = GetScImport().GetDocument())
     {
         ScXMLImport::MutexGuard aGuard(GetScImport());
-        ScDocOptions aDocOptions 
(GetScImport().GetDocument()->GetDocOptions());
+        ScDocOptions aDocOptions (pDoc->GetDocOptions());
         aDocOptions.SetYear2000(nYear2000);
         GetScImport().GetDocument()->SetDocOptions(aDocOptions);
     }
diff --git a/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx 
b/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
index 00f899342e4a..cdc9fe2419d5 100644
--- a/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
+++ b/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
@@ -46,7 +46,8 @@ 
ScChangeTrackingExportHelper::ScChangeTrackingExportHelper(ScXMLExport& rTempExp
     : rExport(rTempExport),
     pChangeTrack(nullptr)
 {
-    pChangeTrack = rExport.GetDocument() ? 
rExport.GetDocument()->GetChangeTrack() : nullptr;
+    ScDocument* pDoc = rExport.GetDocument();
+    pChangeTrack = pDoc ? pDoc->GetChangeTrack() : nullptr;
 }
 
 ScChangeTrackingExportHelper::~ScChangeTrackingExportHelper()
@@ -216,9 +217,10 @@ void 
ScChangeTrackingExportHelper::SetValueAttributes(const double& fValue, cons
     {
         sal_uInt32 nIndex = 0;
         double fTempValue = 0.0;
-        if (rExport.GetDocument() && 
rExport.GetDocument()->GetFormatTable()->IsNumberFormat(sValue, nIndex, 
fTempValue))
+        ScDocument* pDoc = rExport.GetDocument();
+        if (pDoc && pDoc->GetFormatTable()->IsNumberFormat(sValue, nIndex, 
fTempValue))
         {
-            SvNumFormatType nType = 
rExport.GetDocument()->GetFormatTable()->GetType(nIndex);
+            SvNumFormatType nType = pDoc->GetFormatTable()->GetType(nIndex);
             if (nType & SvNumFormatType::DEFINED)
                 nType &= ~SvNumFormatType::DEFINED;
             switch(nType)
@@ -303,10 +305,12 @@ void ScChangeTrackingExportHelper::WriteEditCell(const 
ScCellValue& rCell)
 void ScChangeTrackingExportHelper::WriteFormulaCell(const ScCellValue& rCell, 
const OUString& sValue)
 {
     assert(rCell.getType() == CELLTYPE_FORMULA);
+    const ScDocument* pDoc = rExport.GetDocument();
+    if (!pDoc)
+        return;
 
     ScFormulaCell* pFormulaCell = rCell.getFormula();
     OUString sAddress;
-    const ScDocument* pDoc = rExport.GetDocument();
     ScRangeStringConverter::GetStringFromAddress(sAddress, pFormulaCell->aPos, 
pDoc, ::formula::FormulaGrammar::CONV_OOO);
     rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_CELL_ADDRESS, sAddress);
     const formula::FormulaGrammar::Grammar eGrammar = 
pDoc->GetStorageGrammar();
diff --git a/sc/source/filter/xml/XMLExportDDELinks.cxx 
b/sc/source/filter/xml/XMLExportDDELinks.cxx
index 795f47a668d1..1cb08d41c4b0 100644
--- a/sc/source/filter/xml/XMLExportDDELinks.cxx
+++ b/sc/source/filter/xml/XMLExportDDELinks.cxx
@@ -136,8 +136,8 @@ void ScXMLExportDDELinks::WriteDDELinks(const 
uno::Reference<sheet::XSpreadsheet
                 rExport.AddAttribute(XML_NAMESPACE_OFFICE, XML_DDE_ITEM, 
xDDELink->getItem());
                 rExport.AddAttribute(XML_NAMESPACE_OFFICE, 
XML_AUTOMATIC_UPDATE, XML_TRUE);
                 sal_uInt8 nMode;
-                if (rExport.GetDocument() &&
-                    rExport.GetDocument()->GetDdeLinkMode(nDDELink, nMode))
+                ScDocument* pDoc = rExport.GetDocument();
+                if (pDoc && pDoc->GetDdeLinkMode(nDDELink, nMode))
                 {
                     switch (nMode)
                     {
diff --git a/sc/source/filter/xml/XMLStylesExportHelper.cxx 
b/sc/source/filter/xml/XMLStylesExportHelper.cxx
index f58c25f376a1..57caeaf83665 100644
--- a/sc/source/filter/xml/XMLStylesExportHelper.cxx
+++ b/sc/source/filter/xml/XMLStylesExportHelper.cxx
@@ -252,9 +252,12 @@ OUString 
ScMyValidationsContainer::GetCondition(ScXMLExport& rExport, const ScMy
     }
     if (!sCondition.isEmpty())
     {
-        const formula::FormulaGrammar::Grammar eGrammar = 
rExport.GetDocument()->GetStorageGrammar();
-        sal_uInt16 nNamespacePrefix = (eGrammar == 
formula::FormulaGrammar::GRAM_ODFF ? XML_NAMESPACE_OF : XML_NAMESPACE_OOOC);
-        sCondition = rExport.GetNamespaceMap().GetQNameByKey( 
nNamespacePrefix, sCondition, false );
+        if (ScDocument* pDoc = rExport.GetDocument())
+        {
+            const formula::FormulaGrammar::Grammar eGrammar = 
pDoc->GetStorageGrammar();
+            sal_uInt16 nNamespacePrefix = (eGrammar == 
formula::FormulaGrammar::GRAM_ODFF ? XML_NAMESPACE_OF : XML_NAMESPACE_OOOC);
+            sCondition = rExport.GetNamespaceMap().GetQNameByKey( 
nNamespacePrefix, sCondition, false );
+        }
     }
 
     return sCondition;
diff --git a/sc/source/filter/xml/XMLTrackedChangesContext.cxx 
b/sc/source/filter/xml/XMLTrackedChangesContext.cxx
index d71078c6fec8..29d0ab99740d 100644
--- a/sc/source/filter/xml/XMLTrackedChangesContext.cxx
+++ b/sc/source/filter/xml/XMLTrackedChangesContext.cxx
@@ -824,11 +824,12 @@ uno::Reference< xml::sax::XFastContextHandler > 
ScXMLChangeCellContext::createFa
 
 void ScXMLChangeCellContext::CreateTextPContext(bool bIsNewParagraph)
 {
-    if (!GetScImport().GetDocument())
+    ScDocument* pDoc = GetScImport().GetDocument();
+    if (!pDoc)
         return;
 
     mpEditTextObj = new ScEditEngineTextObj();
-    
mpEditTextObj->GetEditEngine()->SetEditTextObjectPool(GetScImport().GetDocument()->GetEditPool());
+    mpEditTextObj->GetEditEngine()->SetEditTextObjectPool(pDoc->GetEditPool());
     uno::Reference <text::XText> xText(mpEditTextObj);
     if (xText.is())
     {
@@ -847,7 +848,6 @@ void SAL_CALL ScXMLChangeCellContext::endFastElement( 
sal_Int32 /*nElement*/ )
 {
     if (!bEmpty)
     {
-        ScDocument* pDoc = GetScImport().GetDocument();
         if (mpEditTextObj.is())
         {
             if (GetImport().GetTextImport()->GetCursor().is())
@@ -872,7 +872,8 @@ void SAL_CALL ScXMLChangeCellContext::endFastElement( 
sal_Int32 /*nElement*/ )
             {
                 if (!sText.isEmpty() && bString)
                 {
-                    mrOldCell.set(pDoc->GetSharedStringPool().intern(sText));
+                    if (ScDocument* pDoc = GetScImport().GetDocument())
+                        
mrOldCell.set(pDoc->GetSharedStringPool().intern(sText));
                 }
                 else
                 {
diff --git a/sc/source/filter/xml/xmlcelli.cxx 
b/sc/source/filter/xml/xmlcelli.cxx
index 356be061ea2c..84c0409d1f45 100644
--- a/sc/source/filter/xml/xmlcelli.cxx
+++ b/sc/source/filter/xml/xmlcelli.cxx
@@ -180,9 +180,14 @@ ScXMLTableRowCellContext::ScXMLTableRowCellContext( 
ScXMLImport& rImport,
                     nMatrixRows = static_cast<SCROW>(it.toInt32());
                 break;
                 case XML_ELEMENT( TABLE, XML_NUMBER_COLUMNS_REPEATED ):
-                    nColsRepeated = static_cast<SCCOL>(
-                        std::min<sal_Int32>( 
rImport.GetDocument()->GetSheetLimits().GetMaxColCount(),
-                        std::max( it.toInt32(), static_cast<sal_Int32>(1) ) ));
+                {
+                    if (ScDocument* pDoc = rImport.GetDocument())
+                    {
+                        nColsRepeated = static_cast<SCCOL>(
+                            std::min<sal_Int32>( 
pDoc->GetSheetLimits().GetMaxColCount(),
+                            std::max( it.toInt32(), static_cast<sal_Int32>(1) 
) ));
+                    }
+                }
                 break;
                 case XML_ELEMENT( OFFICE, XML_VALUE_TYPE ):
                     nCellType = ScXMLImport::GetCellType(it.toCString(), 
it.getLength());
@@ -688,21 +693,23 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL 
ScXMLTableRowCellContex
         uno::Reference<drawing::XShapes> xShapes 
(rXMLImport.GetTables().GetCurrentXShapes());
         if (xShapes.is())
         {
-            ScDocument* pDoc = rXMLImport.GetDocument();
-            if (aCellPos.Col() > pDoc->MaxCol())
-                aCellPos.SetCol(pDoc->MaxCol());
-            if (aCellPos.Row() > pDoc->MaxRow())
-                aCellPos.SetRow(pDoc->MaxRow());
-            XMLTableShapeImportHelper* pTableShapeImport =
-                    static_cast< XMLTableShapeImportHelper* >( 
rXMLImport.GetShapeImport().get() );
-            pTableShapeImport->SetOnTable(false);
-            pTableShapeImport->SetCell(aCellPos);
-            pContext = XMLShapeImportHelper::CreateGroupChildContext(
-                rXMLImport, nElement, xAttrList, xShapes);
-            if (pContext)
+            if (ScDocument* pDoc = rXMLImport.GetDocument())
             {
-                bIsEmpty = false;
-                rXMLImport.ProgressBarIncrement();
+                if (aCellPos.Col() > pDoc->MaxCol())
+                    aCellPos.SetCol(pDoc->MaxCol());
+                if (aCellPos.Row() > pDoc->MaxRow())
+                    aCellPos.SetRow(pDoc->MaxRow());
+                XMLTableShapeImportHelper* pTableShapeImport =
+                        static_cast< XMLTableShapeImportHelper* >( 
rXMLImport.GetShapeImport().get() );
+                pTableShapeImport->SetOnTable(false);
+                pTableShapeImport->SetCell(aCellPos);
+                pContext = XMLShapeImportHelper::CreateGroupChildContext(
+                    rXMLImport, nElement, xAttrList, xShapes);
+                if (pContext)
+                {
+                    bIsEmpty = false;
+                    rXMLImport.ProgressBarIncrement();
+                }
             }
         }
     }
@@ -714,13 +721,15 @@ void ScXMLTableRowCellContext::DoMerge( const ScAddress& 
rScAddress, const SCCOL
 {
     SCCOL mergeToCol = rScAddress.Col() + nCols;
     SCROW mergeToRow = rScAddress.Row() + nRows;
-    ScDocument* pDoc = rXMLImport.GetDocument();
-    bool bInBounds = rScAddress.Col() <= pDoc->MaxCol() && rScAddress.Row() <= 
pDoc->MaxRow() &&
-                       mergeToCol <= pDoc->MaxCol() && mergeToRow <= 
pDoc->MaxRow();
-    if( bInBounds )
+    if (ScDocument* pDoc = rXMLImport.GetDocument())
     {
-        pDoc->DoMerge( rScAddress.Col(), rScAddress.Row(),
-                       mergeToCol, mergeToRow, rScAddress.Tab() );
+        bool bInBounds = rScAddress.Col() <= pDoc->MaxCol() && 
rScAddress.Row() <= pDoc->MaxRow() &&
+                           mergeToCol <= pDoc->MaxCol() && mergeToRow <= 
pDoc->MaxRow();
+        if( bInBounds )
+        {
+            pDoc->DoMerge( rScAddress.Col(), rScAddress.Row(),
+                           mergeToCol, mergeToRow, rScAddress.Tab() );
+        }
     }
 }
 
@@ -765,6 +774,9 @@ void ScXMLTableRowCellContext::SetContentValidation( const 
ScRange& rScRange )
         return;
 
     ScDocument* pDoc = rXMLImport.GetDocument();
+    if (!pDoc)
+        return;
+
     ScMyImportValidation aValidation;
     aValidation.eGrammar1 = aValidation.eGrammar2 = pDoc->GetStorageGrammar();
     if( !rXMLImport.GetValidation(*maContentValidationName, aValidation) )
@@ -1358,6 +1370,9 @@ void ScXMLTableRowCellContext::AddNonFormulaCell( const 
ScAddress& rCellPos )
 void ScXMLTableRowCellContext::PutFormulaCell( const ScAddress& rCellPos )
 {
     ScDocument* pDoc = rXMLImport.GetDocument();
+    if (!pDoc)
+        return;
+
     ScDocumentImport& rDocImport = rXMLImport.GetDoc();
 
     const OUString & aText = maFormula->first;
diff --git a/sc/source/filter/xml/xmlcoli.cxx b/sc/source/filter/xml/xmlcoli.cxx
index f835bddb7c5e..5114296d9760 100644
--- a/sc/source/filter/xml/xmlcoli.cxx
+++ b/sc/source/filter/xml/xmlcoli.cxx
@@ -52,8 +52,11 @@ ScXMLTableColContext::ScXMLTableColContext( ScXMLImport& 
rImport,
         {
         case XML_ELEMENT( TABLE, XML_NUMBER_COLUMNS_REPEATED ):
             {
-                nColCount = std::max<sal_Int32>(aIter.toInt32(), 1);
-                nColCount = std::min<sal_Int32>(nColCount, 
rImport.GetDocument()->GetSheetLimits().GetMaxColCount() );
+                if (ScDocument* pDoc = rImport.GetDocument())
+                {
+                    nColCount = std::max<sal_Int32>(aIter.toInt32(), 1);
+                    nColCount = std::min<sal_Int32>(nColCount, 
pDoc->GetSheetLimits().GetMaxColCount() );
+                }
             }
             break;
         case XML_ELEMENT( TABLE, XML_STYLE_NAME ):
@@ -86,7 +89,7 @@ void SAL_CALL ScXMLTableColContext::endFastElement( sal_Int32 
/*nElement*/ )
     SCTAB nSheet = rXMLImport.GetTables().GetCurrentSheet();
     sal_Int32 nCurrentColumn = rXMLImport.GetTables().GetCurrentColCount();
     uno::Reference<sheet::XSpreadsheet> 
xSheet(rXMLImport.GetTables().GetCurrentXSheet());
-    if(xSheet.is())
+    if(pDoc && xSheet.is())
     {
         sal_Int32 nLastColumn(nCurrentColumn + nColCount - 1);
         if (nLastColumn > pDoc->MaxCol())
diff --git a/sc/source/filter/xml/xmlcondformat.cxx 
b/sc/source/filter/xml/xmlcondformat.cxx
index 098a2a1f4d01..4e2164ae00f8 100644
--- a/sc/source/filter/xml/xmlcondformat.cxx
+++ b/sc/source/filter/xml/xmlcondformat.cxx
@@ -60,6 +60,7 @@ IMPL_LINK(ScXMLConditionalFormatsContext, FormatDeletedHdl, 
ScConditionalFormat*
 void SAL_CALL ScXMLConditionalFormatsContext::endFastElement( sal_Int32 
/*nElement*/ )
 {
     ScDocument* pDoc = GetScImport().GetDocument();
+    assert(pDoc);
 
     SCTAB nTab = GetScImport().GetTables().GetCurrentSheet();
     ScConditionalFormatList* pCondFormatList = pDoc->GetCondFormList(nTab);
diff --git a/sc/source/filter/xml/xmlcvali.cxx 
b/sc/source/filter/xml/xmlcvali.cxx
index 1f352354e021..ec7a1ea70b3d 100644
--- a/sc/source/filter/xml/xmlcvali.cxx
+++ b/sc/source/filter/xml/xmlcvali.cxx
@@ -374,7 +374,8 @@ void SAL_CALL 
ScXMLContentValidationContext::endFastElement( sal_Int32 /*nElemen
     }
 
     ScMyImportValidation aValidation;
-    aValidation.eGrammar1 = aValidation.eGrammar2 = 
GetScImport().GetDocument()->GetStorageGrammar();
+    if (ScDocument* pDoc = GetScImport().GetDocument())
+        aValidation.eGrammar1 = aValidation.eGrammar2 = 
pDoc->GetStorageGrammar();
     aValidation.sName = sName;
     aValidation.sBaseCellAddress = sBaseCellAddress;
     aValidation.sInputTitle = sHelpTitle;
diff --git a/sc/source/filter/xml/xmlexprt.cxx 
b/sc/source/filter/xml/xmlexprt.cxx
index 2657846388f6..42f306123890 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -348,7 +348,7 @@ ScXMLExport::ScXMLExport(
     OUString const & implementationName, SvXMLExportFlags nExportFlag)
 :   SvXMLExport(
         rContext, implementationName, GetMeasureUnit(), XML_SPREADSHEET, 
nExportFlag ),
-    pDoc(nullptr),
+    mpDoc(nullptr),
     nSourceStreamPos(0),
     pCurrentCell(nullptr),
     nOpenRow(-1),
@@ -630,7 +630,7 @@ void ScXMLExport::CollectShapesAutoStyles(SCTAB nTableCount)
 
 void ScXMLExport::ExportMeta_()
 {
-    sal_Int32 nCellCount(pDoc ? pDoc->GetCellCount() : 0);
+    sal_Int32 nCellCount(mpDoc ? mpDoc->GetCellCount() : 0);
     SCTAB nTableCount(0);
     sal_Int32 nShapesCount(0);
     GetAutoStylePool()->ClearEntries();
@@ -678,9 +678,9 @@ table::CellRangeAddress ScXMLExport::GetEndAddress(const 
uno::Reference<sheet::X
 
 void ScXMLExport::GetAreaLinks( ScMyAreaLinksContainer& rAreaLinks )
 {
-    if (pDoc->GetLinkManager())
+    if (mpDoc->GetLinkManager())
     {
-        const sfx2::SvBaseLinks& rLinks = pDoc->GetLinkManager()->GetLinks();
+        const sfx2::SvBaseLinks& rLinks = mpDoc->GetLinkManager()->GetLinks();
         for (const auto & rLink : rLinks)
         {
             ScAreaLink *pLink = dynamic_cast<ScAreaLink*>(rLink.get());
@@ -703,10 +703,10 @@ void ScXMLExport::GetAreaLinks( ScMyAreaLinksContainer& 
rAreaLinks )
 // core implementation
 void ScXMLExport::GetDetectiveOpList( ScMyDetectiveOpContainer& rDetOp )
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
-    ScDetOpList* pOpList(pDoc->GetDetOpList());
+    ScDetOpList* pOpList(mpDoc->GetDetOpList());
     if( !pOpList )
         return;
 
@@ -716,7 +716,7 @@ void ScXMLExport::GetDetectiveOpList( 
ScMyDetectiveOpContainer& rDetOp )
         const ScDetOpData& rDetData = pOpList->GetObject( nIndex);
         const ScAddress& rDetPos = rDetData.GetPos();
         SCTAB nTab = rDetPos.Tab();
-        if ( nTab < pDoc->GetTableCount() )
+        if ( nTab < mpDoc->GetTableCount() )
         {
             rDetOp.AddOperation( rDetData.GetOperation(), rDetPos, 
static_cast<sal_uInt32>( nIndex) );
 
@@ -883,7 +883,7 @@ void ScXMLExport::ExportExternalRefCacheStyles()
         // No entry index for the number format is found.
         return;
 
-    ScExternalRefManager* pRefMgr = pDoc->GetExternalRefManager();
+    ScExternalRefManager* pRefMgr = mpDoc->GetExternalRefManager();
     if (!pRefMgr->hasExternalData())
         // No external reference data cached.
         return;
@@ -1257,7 +1257,7 @@ void ScXMLExport::ExportCellTextAutoStyles(sal_Int32 
nTable)
     rtl::Reference<SvXMLAutoStylePoolP> xStylePool = GetAutoStylePool();
     const ScXMLEditAttributeMap& rAttrMap = GetEditAttributeMap();
 
-    sc::EditTextIterator aIter(*pDoc, nTable);
+    sc::EditTextIterator aIter(*mpDoc, nTable);
     sal_Int32 nCellCount = 0;
     for (const EditTextObject* pEdit = aIter.first(); pEdit; pEdit = 
aIter.next(), ++nCellCount)
     {
@@ -1448,7 +1448,7 @@ void ScXMLExport::OpenRow(const sal_Int32 nTable, const 
sal_Int32 nStartRow, con
             if (nRow == nStartRow)
             {
                 nPrevIndex = pRowStyles->GetStyleNameIndex(nTable, nRow);
-                if (pDoc)
+                if (mpDoc)
                 {
                     if (nRow > nEndRowHidden)
                     {
@@ -1466,7 +1466,7 @@ void ScXMLExport::OpenRow(const sal_Int32 nTable, const 
sal_Int32 nStartRow, con
             else
             {
                 nIndex = pRowStyles->GetStyleNameIndex(nTable, nRow);
-                if (pDoc)
+                if (mpDoc)
                 {
                     if (nRow > nEndRowHidden)
                         bHidden = rRowAttr.rowHidden(nTable, nRow, 
nEndRowHidden);
@@ -1499,7 +1499,7 @@ void ScXMLExport::OpenRow(const sal_Int32 nTable, const 
sal_Int32 nStartRow, con
         sal_Int32 nIndex = pRowStyles->GetStyleNameIndex(nTable, nStartRow);
         bool bHidden = false;
         bool bFiltered = false;
-        if (pDoc)
+        if (mpDoc)
         {
             sal_Int32 nEndRowHidden;
             sal_Int32 nEndRowFiltered;
@@ -1538,7 +1538,7 @@ void ScXMLExport::ExportFormatRanges(const sal_Int32 
nStartCol, const sal_Int32
     const sal_Int32 nEndCol, const sal_Int32 nEndRow, const sal_Int32 nSheet)
 {
     pRowFormatRanges->Clear();
-    ScXMLCachedRowAttrAccess aRowAttr(pDoc);
+    ScXMLCachedRowAttrAccess aRowAttr(mpDoc);
     if (nStartRow == nEndRow)
     {
         pCellStyles->GetFormatRanges(nStartCol, nEndCol, nStartRow, nSheet, 
pRowFormatRanges.get());
@@ -1647,7 +1647,7 @@ void ScXMLExport::GetColumnRowHeader(bool& 
rHasColumnHeader, ScRange& rColumnHea
                               rTempColumnHeaderRange.EndRow,
                               rTempColumnHeaderRange.Sheet);
     uno::Sequence< table::CellRangeAddress > aRangeList( 
xPrintAreas->getPrintAreas() );
-    ScRangeStringConverter::GetStringFromRangeList( rPrintRanges, aRangeList, 
pDoc, FormulaGrammar::CONV_OOO );
+    ScRangeStringConverter::GetStringFromRangeList( rPrintRanges, aRangeList, 
mpDoc, FormulaGrammar::CONV_OOO );
 }
 
 void ScXMLExport::FillFieldGroup(ScOutlineArray* pFields, 
ScMyOpenCloseColumnRowGroup* pGroups)
@@ -1672,10 +1672,10 @@ void ScXMLExport::FillFieldGroup(ScOutlineArray* 
pFields, ScMyOpenCloseColumnRow
 
 void ScXMLExport::FillColumnRowGroups()
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
-    ScOutlineTable* pOutlineTable = pDoc->GetOutlineTable( 
static_cast<SCTAB>(nCurrentTable) );
+    ScOutlineTable* pOutlineTable = mpDoc->GetOutlineTable( 
static_cast<SCTAB>(nCurrentTable) );
     if(pOutlineTable)
     {
         ScOutlineArray& rCols(pOutlineTable->GetColArray());
@@ -1689,14 +1689,14 @@ void ScXMLExport::FillColumnRowGroups()
 
 void ScXMLExport::SetBodyAttributes()
 {
-    if (!(pDoc && pDoc->IsDocProtected()))
+    if (!(mpDoc && mpDoc->IsDocProtected()))
         return;
 
     AddAttribute(XML_NAMESPACE_TABLE, XML_STRUCTURE_PROTECTED, XML_TRUE);
     OUStringBuffer aBuffer;
     uno::Sequence<sal_Int8> aPassHash;
     ScPasswordHash eHashUsed = PASSHASH_UNSPECIFIED;
-    const ScDocProtection* p = pDoc->GetDocProtection();
+    const ScDocProtection* p = mpDoc->GetDocProtection();
     if (p)
     {
         if (p->hasPasswordHash(PASSHASH_SHA1))
@@ -1925,7 +1925,7 @@ void ScXMLExport::ExportContent_()
         {
             sal_Int64 nStartOffset = -1;
             sal_Int64 nEndOffset = -1;
-            if (pSheetData && pDoc && 
pDoc->IsStreamValid(static_cast<SCTAB>(nTable)) && !pDoc->GetChangeTrack())
+            if (pSheetData && mpDoc && 
mpDoc->IsStreamValid(static_cast<SCTAB>(nTable)) && !mpDoc->GetChangeTrack())
                 pSheetData->GetStreamPos( nTable, nStartOffset, nEndOffset );
 
             if ( nStartOffset >= 0 && nEndOffset >= 0 && xSourceStream.is() )
@@ -2002,8 +2002,7 @@ void ScXMLExport::exportTheme()
     if ((getSaneDefaultVersion() & SvtSaveOptions::ODFSVER_EXTENDED) == 0)
         return;
 
-    SdrModel* pModel = GetDocument()->GetDrawLayer();
-
+    SdrModel* pModel = mpDoc ? mpDoc->GetDrawLayer() : nullptr;
     if (!pModel)
         return;
 
@@ -2271,14 +2270,14 @@ void ScXMLExport::collectAutoStyles()
 
         //  re-create automatic styles with old names from stored data
         ScSheetSaveData* pSheetData = 
comphelper::getFromUnoTunnel<ScModelObj>(xSpreadDoc)->GetSheetSaveData();
-        if (pSheetData && pDoc)
+        if (pSheetData && mpDoc)
         {
             // formulas have to be calculated now, to detect changed results
             // (during normal save, they will be calculated anyway)
-            SCTAB nTabCount = pDoc->GetTableCount();
+            SCTAB nTabCount = mpDoc->GetTableCount();
             for (SCTAB nTab=0; nTab<nTabCount; ++nTab)
-                if (pDoc->IsStreamValid(nTab))
-                    pDoc->InterpretDirtyCells(ScRange(0, 0, nTab, 
pDoc->MaxCol(), pDoc->MaxRow(), nTab));
+                if (mpDoc->IsStreamValid(nTab))
+                    mpDoc->InterpretDirtyCells(ScRange(0, 0, nTab, 
mpDoc->MaxCol(), mpDoc->MaxRow(), nTab));
 
             // stored cell styles
             const std::vector<ScCellStyleEntry>& rCellEntries = 
pSheetData->GetCellStyles();
@@ -2286,7 +2285,7 @@ void ScXMLExport::collectAutoStyles()
             {
                 ScAddress aPos = rCellEntry.maCellPos;
                 sal_Int32 nTable = aPos.Tab();
-                bool bCopySheet = pDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
+                bool bCopySheet = mpDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
                 if (bCopySheet)
                 {
                     uno::Reference <sheet::XSpreadsheet> 
xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY);
@@ -2303,7 +2302,7 @@ void ScXMLExport::collectAutoStyles()
             {
                 ScAddress aPos = rColumnEntry.maCellPos;
                 sal_Int32 nTable = aPos.Tab();
-                bool bCopySheet = pDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
+                bool bCopySheet = mpDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
                 if (bCopySheet)
                 {
                     uno::Reference<table::XColumnRowRange> 
xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY);
@@ -2322,7 +2321,7 @@ void ScXMLExport::collectAutoStyles()
             {
                 ScAddress aPos = rRowEntry.maCellPos;
                 sal_Int32 nTable = aPos.Tab();
-                bool bCopySheet = pDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
+                bool bCopySheet = mpDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
                 if (bCopySheet)
                 {
                     uno::Reference<table::XColumnRowRange> 
xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY);
@@ -2340,7 +2339,7 @@ void ScXMLExport::collectAutoStyles()
             {
                 ScAddress aPos = rTableEntry.maCellPos;
                 sal_Int32 nTable = aPos.Tab();
-                bool bCopySheet = pDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
+                bool bCopySheet = mpDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
                 if (bCopySheet)
                 {
                     //! separate method AddStyleFromTable needed?
@@ -2364,12 +2363,12 @@ void ScXMLExport::collectAutoStyles()
             {
                 ScAddress aPos = rNoteEntry.maCellPos;
                 SCTAB nTable = aPos.Tab();
-                bool bCopySheet = pDoc->IsStreamValid( nTable );
+                bool bCopySheet = mpDoc->IsStreamValid( nTable );
                 if (bCopySheet)
                 {
                     //! separate method AddStyleFromNote needed?
 
-                    ScPostIt* pNote = pDoc->GetNote(aPos);
+                    ScPostIt* pNote = mpDoc->GetNote(aPos);
                     OSL_ENSURE( pNote, "note not found" );
                     if (pNote)
                     {
@@ -2407,10 +2406,10 @@ void ScXMLExport::collectAutoStyles()
             {
                 ScAddress aPos = rNoteParaEntry.maCellPos;
                 SCTAB nTable = aPos.Tab();
-                bool bCopySheet = pDoc->IsStreamValid( nTable );
+                bool bCopySheet = mpDoc->IsStreamValid( nTable );
                 if (bCopySheet)
                 {
-                    ScPostIt* pNote = pDoc->GetNote( aPos );
+                    ScPostIt* pNote = mpDoc->GetNote( aPos );
                     OSL_ENSURE( pNote, "note not found" );
                     if (pNote)
                     {
@@ -2438,10 +2437,10 @@ void ScXMLExport::collectAutoStyles()
             {
                 ScAddress aPos = rNoteTextEntry.maCellPos;
                 SCTAB nTable = aPos.Tab();
-                bool bCopySheet = pDoc->IsStreamValid( nTable );
+                bool bCopySheet = mpDoc->IsStreamValid( nTable );
                 if (bCopySheet)
                 {
-                    ScPostIt* pNote = pDoc->GetNote( aPos );
+                    ScPostIt* pNote = mpDoc->GetNote( aPos );
                     OSL_ENSURE( pNote, "note not found" );
                     if (pNote)
                     {
@@ -2473,7 +2472,7 @@ void ScXMLExport::collectAutoStyles()
             {
                 ScAddress aPos = rTextEntry.maCellPos;
                 sal_Int32 nTable = aPos.Tab();
-                bool bCopySheet = pDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
+                bool bCopySheet = mpDoc->IsStreamValid( 
static_cast<SCTAB>(nTable) );
                 if (!bCopySheet)
                     continue;
 
@@ -2557,13 +2556,13 @@ void ScXMLExport::collectAutoStyles()
                 }
             }
             uno::Reference<table::XColumnRowRange> xColumnRowRange (xTable, 
uno::UNO_QUERY);
-            if (xColumnRowRange.is() && pDoc)
+            if (xColumnRowRange.is() && mpDoc)
             {
-                pDoc->SyncColRowFlags();
+                mpDoc->SyncColRowFlags();
                 uno::Reference<table::XTableColumns> 
xTableColumns(xColumnRowRange->getColumns());
                 if (xTableColumns.is())
                 {
-                    sal_Int32 
nColumns(pDoc->GetLastChangedColFlagsWidth(sal::static_int_cast<SCTAB>(nTable)));
+                    sal_Int32 
nColumns(mpDoc->GetLastChangedColFlagsWidth(sal::static_int_cast<SCTAB>(nTable)));
                     pSharedData->SetLastColumn(nTable, nColumns);
                     table::CellRangeAddress 
aCellAddress(GetEndAddress(xTable));
                     if (aCellAddress.EndColumn > nColumns)
@@ -2574,7 +2573,7 @@ void ScXMLExport::collectAutoStyles()
                     else
                         pColumnStyles->AddNewTable(nTable, nColumns);
                     sal_Int32 nColumn = 0;
-                    while (nColumn <= pDoc->MaxCol())
+                    while (nColumn <= mpDoc->MaxCol())
                     {
                         sal_Int32 nIndex(-1);
                         bool bIsVisible(true);
@@ -2585,7 +2584,7 @@ void ScXMLExport::collectAutoStyles()
                             pColumnStyles->AddFieldStyleName(nTable, nColumn, 
nIndex, bIsVisible);
                         }
                         sal_Int32 nOld(nColumn);
-                        nColumn = 
pDoc->GetNextDifferentChangedColFlagsWidth(sal::static_int_cast<SCTAB>(nTable), 
static_cast<SCCOL>(nColumn));
+                        nColumn = 
mpDoc->GetNextDifferentChangedColFlagsWidth(sal::static_int_cast<SCTAB>(nTable),
 static_cast<SCCOL>(nColumn));
                         for (sal_Int32 i = nOld + 1; i < nColumn; ++i)
                             pColumnStyles->AddFieldStyleName(nTable, i, 
nIndex, bIsVisible);
                     }
@@ -2600,12 +2599,12 @@ void ScXMLExport::collectAutoStyles()
                 uno::Reference<table::XTableRows> 
xTableRows(xColumnRowRange->getRows());
                 if (xTableRows.is())
                 {
-                    sal_Int32 
nRows(pDoc->GetLastChangedRowFlagsWidth(sal::static_int_cast<SCTAB>(nTable)));
+                    sal_Int32 
nRows(mpDoc->GetLastChangedRowFlagsWidth(sal::static_int_cast<SCTAB>(nTable)));
                     pSharedData->SetLastRow(nTable, nRows);
 
-                    pRowStyles->AddNewTable(nTable, pDoc->MaxRow());
+                    pRowStyles->AddNewTable(nTable, mpDoc->MaxRow());
                     sal_Int32 nRow = 0;
-                    while (nRow <= pDoc->MaxRow())
+                    while (nRow <= mpDoc->MaxRow())
                     {
                         sal_Int32 nIndex = 0;
                         uno::Reference <beans::XPropertySet> 
xRowProperties(xTableRows->getByIndex(nRow), uno::UNO_QUERY);
@@ -2615,7 +2614,7 @@ void ScXMLExport::collectAutoStyles()
                             pRowStyles->AddFieldStyleName(nTable, nRow, 
nIndex);
                         }
                         sal_Int32 nOld(nRow);
-                        nRow = 
pDoc->GetNextDifferentChangedRowFlagsWidth(sal::static_int_cast<SCTAB>(nTable), 
static_cast<SCROW>(nRow));
+                        nRow = 
mpDoc->GetNextDifferentChangedRowFlagsWidth(sal::static_int_cast<SCTAB>(nTable),
 static_cast<SCROW>(nRow));
                         if (nRow > nOld + 1)
                             pRowStyles->AddFieldStyleName(nTable, nOld + 1, 
nIndex, nRow - 1);
                     }
@@ -2660,9 +2659,9 @@ void ScXMLExport::ExportAutoStyles_()
         GetShapeExport()->exportAutoStyles();
         GetFormExport()->exportAutoStyles( );
 
-        if (pDoc)
+        if (mpDoc)
         {
-            ScExternalRefManager* pRefMgr = pDoc->GetExternalRefManager();
+            ScExternalRefManager* pRefMgr = mpDoc->GetExternalRefManager();
             // #i100879# write the table style for cached tables only if there 
are cached tables
             // (same logic as in ExportExternalRefCacheStyles)
             if (pRefMgr->hasExternalData())
@@ -2705,7 +2704,7 @@ void ScXMLExport::CollectInternalShape( uno::Reference< 
drawing::XShape > const
     // collect note caption objects from all layers (internal or hidden)
     if( ScDrawObjData* pCaptData = ScDrawLayer::GetNoteCaptionData( pObject, 
static_cast< SCTAB >( nCurrentTable ) ) )
     {
-        if(pDoc->GetNote(pCaptData->maStart))
+        if(mpDoc->GetNote(pCaptData->maStart))
         {
             pSharedData->AddNoteObj( xShape, pCaptData->maStart );
 
@@ -2719,7 +2718,7 @@ void ScXMLExport::CollectInternalShape( uno::Reference< 
drawing::XShape > const
     // other objects from internal layer only (detective)
     else if( pObject->GetLayer() == SC_LAYER_INTERN )
     {
-        ScDetectiveFunc aDetFunc( *pDoc, static_cast<SCTAB>(nCurrentTable) );
+        ScDetectiveFunc aDetFunc( *mpDoc, static_cast<SCTAB>(nCurrentTable) );
         ScAddress       aPosition;
         ScRange         aSourceRange;
         bool            bRedLine;
@@ -2798,7 +2797,7 @@ bool ScXMLExport::IsMatrix (const ScAddress& aCell,
 
     ScRange aMatrixRange;
 
-    if (pDoc && pDoc->GetMatrixFormulaRange(aCell, aMatrixRange))
+    if (mpDoc && mpDoc->GetMatrixFormulaRange(aCell, aMatrixRange))
     {
         aCellAddress = aMatrixRange;
         if ((aCellAddress.aStart.Col() == aCell.Col() && 
aCellAddress.aStart.Row() == aCell.Row()) &&
@@ -2840,9 +2839,9 @@ void ScXMLExport::WriteTable(sal_Int32 nTable, const 
uno::Reference<sheet::XSpre
     if (xProtectable.is() && xProtectable->isProtected())
     {
         AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTED, XML_TRUE);
-        if (pDoc)
+        if (mpDoc)
         {
-            pProtect = pDoc->GetTabProtection(nTable);
+            pProtect = mpDoc->GetTabProtection(nTable);
             if (pProtect)
             {
                 OUStringBuffer aBuffer;
@@ -2900,7 +2899,7 @@ void ScXMLExport::WriteTable(sal_Int32 nTable, const 
uno::Reference<sheet::XSpre
     GetColumnRowHeader(bHasColumnHeader, aColumnHeaderRange, bHasRowHeader, 
aRowHeaderRange, sPrintRanges);
     if( !sPrintRanges.isEmpty() )
         AddAttribute( XML_NAMESPACE_TABLE, XML_PRINT_RANGES, sPrintRanges );
-    else if (pDoc && !pDoc->IsPrintEntireSheet(static_cast<SCTAB>(nTable)))
+    else if (mpDoc && !mpDoc->IsPrintEntireSheet(static_cast<SCTAB>(nTable)))
         AddAttribute( XML_NAMESPACE_TABLE, XML_PRINT, XML_FALSE);
     SvXMLElementExport aElemT(*this, sElemTab, true, true);
 
@@ -2934,7 +2933,7 @@ void ScXMLExport::WriteTable(sal_Int32 nTable, const 
uno::Reference<sheet::XSpre
 
     CheckAttrList();
 
-    if ( pDoc && pDoc->GetSheetEvents( static_cast<SCTAB>(nTable) ) &&
+    if ( mpDoc && mpDoc->GetSheetEvents( static_cast<SCTAB>(nTable) ) &&
         getSaneDefaultVersion() >= SvtSaveOptions::ODFSVER_012)
     {
         // store sheet events
@@ -2971,7 +2970,7 @@ void ScXMLExport::WriteTable(sal_Int32 nTable, const 
uno::Reference<sheet::XSpre
     if (bHasRowHeader)
         pSharedData->SetLastRow(nTable, aRowHeaderRange.aEnd.Row());
     pDefaults->FillDefaultStyles(nTable, pSharedData->GetLastRow(nTable),
-        pSharedData->GetLastColumn(nTable), pCellStyles.get(), pDoc);
+        pSharedData->GetLastColumn(nTable), pCellStyles.get(), mpDoc);
     pRowFormatRanges->SetColDefaults(&pDefaults->GetColDefaults());
     pCellStyles->SetColDefaults(&pDefaults->GetColDefaults());
     ExportColumns(nTable, aColumnHeaderRange, bHasColumnHeader);
@@ -3022,11 +3021,11 @@ void ScXMLExport::WriteTable(sal_Int32 nTable, const 
uno::Reference<sheet::XSpre
 
     CloseRow(pSharedData->GetLastRow(nTable));
 
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
     // Export sheet-local named ranges.
-    ScRangeName* pRangeName = pDoc->GetRangeName(nTable);
+    ScRangeName* pRangeName = mpDoc->GetRangeName(nTable);
     if (pRangeName && !pRangeName->empty())
     {
         WriteNamedRange(pRangeName);
@@ -3210,8 +3209,8 @@ void ScXMLExport::WriteCell(ScMyCell& aCell, sal_Int32 
nEqualCellCount)
             break;
         case table::CellContentType_TEXT :
             {
-                OUString sFormattedString(lcl_GetFormattedString(pDoc, 
aCell.maBaseCell, aCell.maCellAddress));
-                OUString sCellString = aCell.maBaseCell.getString(pDoc);
+                OUString sFormattedString(lcl_GetFormattedString(mpDoc, 
aCell.maBaseCell, aCell.maCellAddress));
+                OUString sCellString = aCell.maBaseCell.getString(mpDoc);
                 bool bExportValue = sCellString.indexOf('\x001') == -1;
                 
GetNumberFormatAttributesExportHelper()->SetNumberFormatAttributes(
                         sCellString, sFormattedString, bExportValue);
@@ -3230,8 +3229,8 @@ void ScXMLExport::WriteCell(ScMyCell& aCell, sal_Int32 
nEqualCellCount)
                     {
                         if (!mpCompileFormulaCxt)
                         {
-                            const formula::FormulaGrammar::Grammar eGrammar = 
pDoc->GetStorageGrammar();
-                            mpCompileFormulaCxt.reset(new 
sc::CompileFormulaContext(*pDoc, eGrammar));
+                            const formula::FormulaGrammar::Grammar eGrammar = 
mpDoc->GetStorageGrammar();
+                            mpCompileFormulaCxt.reset(new 
sc::CompileFormulaContext(*mpDoc, eGrammar));
                         }
                         
mpCompileFormulaCxt->setODFSavingVersion(getSaneDefaultVersion());
                         OUString aFormula = 
pFormulaCell->GetFormula(*mpCompileFormulaCxt);
@@ -3250,7 +3249,7 @@ void ScXMLExport::WriteCell(ScMyCell& aCell, sal_Int32 
nEqualCellCount)
                     if (pFormulaCell->GetErrCode() != FormulaError::NONE)
                     {
                         AddAttribute(sAttrValueType, XML_STRING);
-                        AddAttribute(sAttrStringValue, 
aCell.maBaseCell.getString(pDoc));
+                        AddAttribute(sAttrStringValue, 
aCell.maBaseCell.getString(mpDoc));
                         if (getSaneDefaultVersion() & 
SvtSaveOptions::ODFSVER_EXTENDED)
                         {
                             //export calcext:value-type="error"
@@ -3262,23 +3261,23 @@ void ScXMLExport::WriteCell(ScMyCell& aCell, sal_Int32 
nEqualCellCount)
                         bool bIsStandard;
                         OUString sCurrency;
                         
GetNumberFormatAttributesExportHelper()->GetCellType(aCell.nNumberFormat, 
sCurrency, bIsStandard);
-                        if (pDoc)
+                        if (mpDoc)
                         {
                             
GetNumberFormatAttributesExportHelper()->SetNumberFormatAttributes(
-                                    aCell.nNumberFormat, 
pDoc->GetValue(aCell.maCellAddress));
+                                    aCell.nNumberFormat, 
mpDoc->GetValue(aCell.maCellAddress));
                             if (getSaneDefaultVersion() & 
SvtSaveOptions::ODFSVER_EXTENDED)
                             {
                                 
GetNumberFormatAttributesExportHelper()->SetNumberFormatAttributes(
-                                        aCell.nNumberFormat, 
pDoc->GetValue(aCell.maCellAddress), false, XML_NAMESPACE_CALC_EXT, false );
+                                        aCell.nNumberFormat, 
mpDoc->GetValue(aCell.maCellAddress), false, XML_NAMESPACE_CALC_EXT, false );
                             }
                         }
                     }
                     else
                     {
-                        if (!aCell.maBaseCell.getString(pDoc).isEmpty())
+                        if (!aCell.maBaseCell.getString(mpDoc).isEmpty())
                         {
                             AddAttribute(sAttrValueType, XML_STRING);
-                            AddAttribute(sAttrStringValue, 
aCell.maBaseCell.getString(pDoc));
+                            AddAttribute(sAttrStringValue, 
aCell.maBaseCell.getString(mpDoc));
                             if (getSaneDefaultVersion() & 
SvtSaveOptions::ODFSVER_EXTENDED)
                             {
                                 
AddAttribute(XML_NAMESPACE_CALC_EXT,XML_VALUE_TYPE, XML_STRING);
@@ -3326,10 +3325,10 @@ void ScXMLExport::WriteCell(ScMyCell& aCell, sal_Int32 
nEqualCellCount)
         {
             SvXMLElementExport aElemP(*this, sElemP, true, false);
 
-            assert(pDoc);
+            assert(mpDoc);
 
             OUString aParaStr =
-                ScCellFormat::GetOutputString(*pDoc, aCell.maCellAddress, 
aCell.maBaseCell);
+                ScCellFormat::GetOutputString(*mpDoc, aCell.maCellAddress, 
aCell.maBaseCell);
 
             bool bPrevCharWasSpace = true;
             GetTextParagraphExport()->exportCharacterData(aParaStr, 
bPrevCharWasSpace);
@@ -3433,11 +3432,11 @@ void ScXMLExport::ExportShape(const uno::Reference < 
drawing::XShape >& xShape,
                 {
                     // we have a chart
                     OUString sRanges;
-                    if ( pDoc )
+                    if ( mpDoc )
                     {
                         OUString aChartName;
                         xShapeProps->getPropertyValue( u"PersistName"_ustr ) 
>>= aChartName;
-                        ScChartListenerCollection* pCollection = 
pDoc->GetChartListenerCollection();
+                        ScChartListenerCollection* pCollection = 
mpDoc->GetChartListenerCollection();
                         if (pCollection)
                         {
                             ScChartListener* pListener = 
pCollection->findByName(aChartName);
@@ -3446,7 +3445,7 @@ void ScXMLExport::ExportShape(const uno::Reference < 
drawing::XShape >& xShape,
                                 const ScRangeListRef xRangeList = 
pListener->GetRangeList();
                                 if ( xRangeList.is() )
                                 {
-                                    
ScRangeStringConverter::GetStringFromRangeList( sRanges, xRangeList.get(), 
pDoc, FormulaGrammar::CONV_OOO );
+                                    
ScRangeStringConverter::GetStringFromRangeList( sRanges, xRangeList.get(), 
mpDoc, FormulaGrammar::CONV_OOO );
                                     if ( !sRanges.isEmpty() )
                                     {
                                         bIsChart = true;
@@ -3510,18 +3509,18 @@ void ScXMLExport::ExportShape(const uno::Reference < 
drawing::XShape >& xShape,
 
 void ScXMLExport::WriteShapes(const ScMyCell& rMyCell)
 {
-    if( !(rMyCell.bHasShape && !rMyCell.aShapeList.empty() && pDoc) )
+    if( !(rMyCell.bHasShape && !rMyCell.aShapeList.empty() && mpDoc) )
         return;
 
     // Reference point to turn absolute coordinates in reference point + 
offset. That happens in most
     // cases in XMLShapeExport::ImpExportNewTrans_DecomposeAndRefPoint, which 
gets the absolute
     // coordinates as translation from matrix in property "Transformation". 
For cell anchored shapes
     // the reference point is left-top (in LTR mode) of that cell, which 
contains the shape.
-    tools::Rectangle aCellRectFull = pDoc->GetMMRect(
+    tools::Rectangle aCellRectFull = mpDoc->GetMMRect(
         rMyCell.maCellAddress.Col(), rMyCell.maCellAddress.Row(), 
rMyCell.maCellAddress.Col(),
         rMyCell.maCellAddress.Row(), rMyCell.maCellAddress.Tab(), false 
/*bHiddenAsZero*/);
     awt::Point aPoint;
-    bool bNegativePage = pDoc->IsNegativePage(rMyCell.maCellAddress.Tab());
+    bool bNegativePage = mpDoc->IsNegativePage(rMyCell.maCellAddress.Tab());
     if (bNegativePage)
         aPoint.X = aCellRectFull.Right();
     else
@@ -3561,7 +3560,7 @@ void ScXMLExport::WriteShapes(const ScMyCell& rMyCell)
         SCCOL aCol(aSnapStartAddress.Col());
         SCROW aRow(aSnapStartAddress.Row());
         tools::Rectangle aFullStartCellRect
-            = pDoc->GetMMRect(aCol, aRow, aCol, aRow, aTab, false 
/*bHiddenAsZero*/);
+            = mpDoc->GetMMRect(aCol, aRow, aCol, aRow, aTab, false 
/*bHiddenAsZero*/);
         // The reference corner for the offset is top-left in case of LTR and 
top-right for RTL.
         Point aFullTopPoint;
         if (bNegativePage)
@@ -3593,7 +3592,7 @@ void ScXMLExport::WriteShapes(const ScMyCell& rMyCell)
             aCol = aSnapEndAddress.Col();
             aRow = aSnapEndAddress.Row();
             tools::Rectangle aFullEndCellRect
-                = pDoc->GetMMRect(aCol, aRow, aCol, aRow, aTab, false 
/*bHiddenAsZero*/);
+                = mpDoc->GetMMRect(aCol, aRow, aCol, aRow, aTab, false 
/*bHiddenAsZero*/);
             Point aFullBottomPoint;
             if (bNegativePage)
                 aFullBottomPoint.setX(aFullEndCellRect.Right() - 
aSnapEndOffset.X());
@@ -3626,7 +3625,7 @@ void ScXMLExport::WriteShapes(const ScMyCell& rMyCell)
         if (pObjData->mbResizeWithCell && !pObj->IsResizeProtect())
         {
             OUString sEndAddress;
-            ScRangeStringConverter::GetStringFromAddress(sEndAddress, 
rShape.aEndAddress, pDoc,
+            ScRangeStringConverter::GetStringFromAddress(sEndAddress, 
rShape.aEndAddress, mpDoc,
                                                          
FormulaGrammar::CONV_OOO);
             AddAttribute(XML_NAMESPACE_TABLE, XML_END_CELL_ADDRESS, 
sEndAddress);
             OUStringBuffer sBuffer;
@@ -3688,7 +3687,7 @@ void ScXMLExport::WriteTableShapes()
     {
         if (rxShape.is())
         {
-            if (pDoc->IsNegativePage(static_cast<SCTAB>(nCurrentTable)))
+            if (mpDoc->IsNegativePage(static_cast<SCTAB>(nCurrentTable)))
             {
                 // RTL-mirroring refers to snap rectangle, not to logic 
rectangle, therefore cannot use
                 // getPosition() and getSize(), but need property "FrameRect" 
from rxShape or
@@ -3770,9 +3769,9 @@ void ScXMLExport::exportAnnotationMeta( const 
uno::Reference < drawing::XShape >
     }
 
     const OUString aDate(bRemovePersonalInfo ? u"1970-01-01"_ustr : 
pNote->GetDate()); // Epoch time
-    if (pDoc)
+    if (mpDoc)
     {
-        SvNumberFormatter* pNumForm = pDoc->GetFormatTable();
+        SvNumberFormatter* pNumForm = mpDoc->GetFormatTable();
         double fDate;
         sal_uInt32 nfIndex = pNumForm->GetFormatIndex(NF_DATE_SYS_DDMMYYYY, 
LANGUAGE_SYSTEM);
         if (pNumForm->IsNumberFormat(aDate, nfIndex, fDate))
@@ -3803,7 +3802,7 @@ void ScXMLExport::exportAnnotationMeta( const 
uno::Reference < drawing::XShape >
 
 void ScXMLExport::WriteAnnotation(const ScMyCell& rMyCell)
 {
-    ScPostIt* pNote = pDoc->GetNote(rMyCell.maCellAddress);
+    ScPostIt* pNote = mpDoc->GetNote(rMyCell.maCellAddress);
     if (!pNote)
         return;
 
@@ -3843,7 +3842,7 @@ void ScXMLExport::WriteDetective( const ScMyCell& rMyCell 
)
         {
             if( (rObj.eObjType == SC_DETOBJ_ARROW) || (rObj.eObjType == 
SC_DETOBJ_TOOTHERTAB))
             {
-                ScRangeStringConverter::GetStringFromRange( sString, 
rObj.aSourceRange, pDoc, FormulaGrammar::CONV_OOO );
+                ScRangeStringConverter::GetStringFromRange( sString, 
rObj.aSourceRange, mpDoc, FormulaGrammar::CONV_OOO );
                 AddAttribute( XML_NAMESPACE_TABLE, XML_CELL_RANGE_ADDRESS, 
sString );
             }
             sString = ScXMLConverter::GetStringFromDetObjType( rObj.eObjType );
@@ -3928,7 +3927,7 @@ bool ScXMLExport::IsCellEqual (const ScMyCell& aCell1, 
const ScMyCell& aCell2)
                                 bIsEqual = false;
                             else
                             {
-                                bIsEqual = (aCell1.maBaseCell.getString(pDoc) 
== aCell2.maBaseCell.getString(pDoc));
+                                bIsEqual = (aCell1.maBaseCell.getString(mpDoc) 
== aCell2.maBaseCell.getString(mpDoc));
                             }
                         }
                         break;
@@ -3965,7 +3964,7 @@ void ScXMLExport::WriteCalculationSettings(const 
uno::Reference <sheet::XSpreads
     if (bUseWildcards && bUseRegularExpressions)
         bUseRegularExpressions = false;     // mutually exclusive, wildcards 
take precedence
     bool bIsIterationEnabled (::cppu::any2bool( 
xPropertySet->getPropertyValue(SC_UNO_ITERENABLED) ));
-    sal_uInt16 nYear2000 (pDoc ? pDoc->GetDocOptions().GetYear2000() : 0);
+    sal_uInt16 nYear2000 (mpDoc ? mpDoc->GetDocOptions().GetYear2000() : 0);
     sal_Int32 nIterationCount(100);
     xPropertySet->getPropertyValue( SC_UNO_ITERCOUNT ) >>= nIterationCount;
     double fIterationEpsilon = 0;
@@ -4094,13 +4093,13 @@ void ScXMLExport::WriteTableSource()
 // core implementation
 void ScXMLExport::WriteScenario()
 {
-    if (!(pDoc && pDoc->IsScenario(static_cast<SCTAB>(nCurrentTable))))
+    if (!(mpDoc && mpDoc->IsScenario(static_cast<SCTAB>(nCurrentTable))))
         return;
 
     OUString sComment;
     Color       aColor;
     ScScenarioFlags nFlags;
-    pDoc->GetScenarioData(static_cast<SCTAB>(nCurrentTable), sComment, aColor, 
nFlags);
+    mpDoc->GetScenarioData(static_cast<SCTAB>(nCurrentTable), sComment, 
aColor, nFlags);
     if (!(nFlags & ScScenarioFlags::ShowFrame))
         AddAttribute(XML_NAMESPACE_TABLE, XML_DISPLAY_BORDER, XML_FALSE);
     OUStringBuffer aBuffer;
@@ -4115,11 +4114,11 @@ void ScXMLExport::WriteScenario()
     if (nFlags & ScScenarioFlags::Protected)
         AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTED, XML_TRUE);
     ::sax::Converter::convertBool(aBuffer,
-            pDoc->IsActiveScenario(static_cast<SCTAB>(nCurrentTable)));
+            mpDoc->IsActiveScenario(static_cast<SCTAB>(nCurrentTable)));
     AddAttribute(XML_NAMESPACE_TABLE, XML_IS_ACTIVE, 
aBuffer.makeStringAndClear());
-    const ScRangeList* pRangeList = 
pDoc->GetScenarioRanges(static_cast<SCTAB>(nCurrentTable));
+    const ScRangeList* pRangeList = 
mpDoc->GetScenarioRanges(static_cast<SCTAB>(nCurrentTable));
     OUString sRangeListStr;
-    ScRangeStringConverter::GetStringFromRangeList( sRangeListStr, pRangeList, 
pDoc, FormulaGrammar::CONV_OOO );
+    ScRangeStringConverter::GetStringFromRangeList( sRangeListStr, pRangeList, 
mpDoc, FormulaGrammar::CONV_OOO );
     AddAttribute(XML_NAMESPACE_TABLE, XML_SCENARIO_RANGES, sRangeListStr);
     if (!sComment.isEmpty())
         AddAttribute(XML_NAMESPACE_TABLE, XML_COMMENT, sComment);
@@ -4160,10 +4159,10 @@ void ScXMLExport::WriteLabelRanges( const 
uno::Reference< container::XIndexAcces
         {
             OUString sRangeStr;
             table::CellRangeAddress aCellRange( xRange->getLabelArea() );
-            ScRangeStringConverter::GetStringFromRange( sRangeStr, aCellRange, 
pDoc, FormulaGrammar::CONV_OOO );
+            ScRangeStringConverter::GetStringFromRange( sRangeStr, aCellRange, 
mpDoc, FormulaGrammar::CONV_OOO );
             AddAttribute( XML_NAMESPACE_TABLE, XML_LABEL_CELL_RANGE_ADDRESS, 
sRangeStr );
             aCellRange = xRange->getDataArea();
-            ScRangeStringConverter::GetStringFromRange( sRangeStr, aCellRange, 
pDoc, FormulaGrammar::CONV_OOO );
+            ScRangeStringConverter::GetStringFromRange( sRangeStr, aCellRange, 
mpDoc, FormulaGrammar::CONV_OOO );
             AddAttribute( XML_NAMESPACE_TABLE, XML_DATA_CELL_RANGE_ADDRESS, 
sRangeStr );
             AddAttribute( XML_NAMESPACE_TABLE, XML_ORIENTATION, bColumn ? 
XML_COLUMN : XML_ROW );
             SvXMLElementExport aElem( *this, XML_NAMESPACE_TABLE, 
XML_LABEL_RANGE, true, true );
@@ -4173,22 +4172,22 @@ void ScXMLExport::WriteLabelRanges( const 
uno::Reference< container::XIndexAcces
 
 void ScXMLExport::WriteNamedExpressions()
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
-    ScRangeName* pNamedRanges = pDoc->GetRangeName();
+    ScRangeName* pNamedRanges = mpDoc->GetRangeName();
     WriteNamedRange(pNamedRanges);
 }
 
 void ScXMLExport::WriteExternalDataMapping()
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
     if ((getSaneDefaultVersion() & SvtSaveOptions::ODFSVER_EXTENDED) == 0)
         // Export this only for 1.2 extended and above.
         return;
 
-    sc::ExternalDataMapper& rDataMapper = pDoc->GetExternalDataMapper();
+    sc::ExternalDataMapper& rDataMapper = mpDoc->GetExternalDataMapper();
     auto& rDataSources = rDataMapper.getDataSources();
 
     if (rDataSources.empty())
@@ -4263,7 +4262,7 @@ void ScXMLExport::WriteExternalDataTransformations(const 
std::vector<std::shared
                 // Sort Transformation
                 std::shared_ptr<sc::SortTransformation> aSortTransformation = 
std::dynamic_pointer_cast<sc::SortTransformation>(itr);
                 ScSortParam aSortParam = aSortTransformation->getSortParam();
-                const sc::DocumentLinkManager& rMgr = 
pDoc->GetDocLinkManager();
+                const sc::DocumentLinkManager& rMgr = 
mpDoc->GetDocLinkManager();
                 const sc::DataStream* pStrm = rMgr.getDataStream();
                 if (!pStrm)
                     // No data stream.
@@ -4274,7 +4273,7 @@ void ScXMLExport::WriteExternalDataTransformations(const 
std::vector<std::shared
 
                 SvXMLElementExport aTransformation(*this, 
XML_NAMESPACE_CALC_EXT, XML_COLUMN_SORT_TRANSFORMATION, true, true);
 
-                writeSort(*this, aSortParam, aRange, pDoc);
+                writeSort(*this, aSortParam, aRange, mpDoc);
             }
             break;
             case sc::TransformationType::TEXT_TRANSFORMATION:
@@ -4509,7 +4508,7 @@ void ScXMLExport::WriteExternalDataTransformations(const 
std::vector<std::shared
 
 void ScXMLExport::WriteDataStream()
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
     if (!officecfg::Office::Common::Misc::ExperimentalMode::get())
@@ -4520,7 +4519,7 @@ void ScXMLExport::WriteDataStream()
         // Export this only for 1.2 extended and above.
         return;
 
-    const sc::DocumentLinkManager& rMgr = pDoc->GetDocLinkManager();
+    const sc::DocumentLinkManager& rMgr = mpDoc->GetDocLinkManager();
     const sc::DataStream* pStrm = rMgr.getDataStream();
     if (!pStrm)
         // No data stream.
@@ -4533,7 +4532,7 @@ void ScXMLExport::WriteDataStream()
     ScRange aRange = pStrm->GetRange();
     OUString aRangeStr;
     ScRangeStringConverter::GetStringFromRange(
-        aRangeStr, aRange, pDoc, formula::FormulaGrammar::CONV_OOO);
+        aRangeStr, aRange, mpDoc, formula::FormulaGrammar::CONV_OOO);
     AddAttribute(XML_NAMESPACE_TABLE, XML_TARGET_RANGE_ADDRESS, aRangeStr);
 
     // Empty line refresh option.
@@ -4559,12 +4558,12 @@ void ScXMLExport::WriteNamedRange(ScRangeName* 
pRangeName)
 
         OUString sBaseCellAddress;
         rxEntry.second->ValidateTabRefs();
-        ScRangeStringConverter::GetStringFromAddress( sBaseCellAddress, 
rxEntry.second->GetPos(), pDoc,
+        ScRangeStringConverter::GetStringFromAddress( sBaseCellAddress, 
rxEntry.second->GetPos(), mpDoc,
                             FormulaGrammar::CONV_OOO, ' ', false, 
ScRefFlags::ADDR_ABS_3D);
         assert(!sBaseCellAddress.isEmpty());
         AddAttribute(XML_NAMESPACE_TABLE, XML_BASE_CELL_ADDRESS, 
sBaseCellAddress);
 
-        OUString 
sTempSymbol(rxEntry.second->GetSymbol(pDoc->GetStorageGrammar()));
+        OUString 
sTempSymbol(rxEntry.second->GetSymbol(mpDoc->GetStorageGrammar()));
         ScRange aRange;
         if (rxEntry.second->IsReference(aRange))
         {
@@ -4691,7 +4690,7 @@ OUString 
getDateStringForType(condformat::ScCondFormatDateType eType)
 
 void ScXMLExport::ExportConditionalFormat(SCTAB nTab)
 {
-    ScConditionalFormatList* pCondFormatList = pDoc->GetCondFormList(nTab);
+    ScConditionalFormatList* pCondFormatList = mpDoc->GetCondFormList(nTab);
     if(!pCondFormatList)
         return;
 
@@ -4704,7 +4703,7 @@ void ScXMLExport::ExportConditionalFormat(SCTAB nTab)
     {
         OUString sRanges;
         const ScRangeList& rRangeList = rxCondFormat->GetRange();
-        ScRangeStringConverter::GetStringFromRangeList( sRanges, &rRangeList, 
pDoc, formula::FormulaGrammar::CONV_OOO );
+        ScRangeStringConverter::GetStringFromRangeList( sRanges, &rRangeList, 
mpDoc, formula::FormulaGrammar::CONV_OOO );
         AddAttribute(XML_NAMESPACE_CALC_EXT, XML_TARGET_RANGE_ADDRESS, 
sRanges);
         SvXMLElementExport aElementCondFormat(*this, XML_NAMESPACE_CALC_EXT, 
XML_CONDITIONAL_FORMAT, true, true);
         size_t nEntries = rxCondFormat->size();
@@ -4829,7 +4828,7 @@ void ScXMLExport::ExportConditionalFormat(SCTAB nTab)
                 AddAttribute(XML_NAMESPACE_CALC_EXT, XML_VALUE, 
aCond.makeStringAndClear());
 
                 OUString sBaseAddress;
-                ScRangeStringConverter::GetStringFromAddress( sBaseAddress, 
aPos, pDoc,formula::FormulaGrammar::CONV_ODF );
+                ScRangeStringConverter::GetStringFromAddress( sBaseAddress, 
aPos, mpDoc,formula::FormulaGrammar::CONV_ODF );
                 AddAttribute(XML_NAMESPACE_CALC_EXT, XML_BASE_CELL_ADDRESS, 
sBaseAddress);
                 SvXMLElementExport aElementCondEntry(*this, 
XML_NAMESPACE_CALC_EXT, XML_CONDITION, true, true);
             }
@@ -4984,10 +4983,10 @@ void ScXMLExport::ExportConditionalFormat(SCTAB nTab)
 
 void ScXMLExport::WriteExternalRefCaches()
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
-    ScExternalRefManager* pRefMgr = pDoc->GetExternalRefManager();
+    ScExternalRefManager* pRefMgr = mpDoc->GetExternalRefManager();
     pRefMgr->resetSrcFileData(GetOrigFileName());
     sal_uInt16 nCount = pRefMgr->getExternalFileCount();
     for (sal_uInt16 nFileId = 0; nFileId < nCount; ++nFileId)
@@ -5175,10 +5174,10 @@ void ScXMLExport::WriteExternalRefCaches()
 // core implementation
 void ScXMLExport::WriteConsolidation()
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
-    const ScConsolidateParam* pCons(pDoc->GetConsolidateDlgData());
+    const ScConsolidateParam* pCons(mpDoc->GetConsolidateDlgData());
     if( !pCons )
         return;
 
@@ -5187,10 +5186,10 @@ void ScXMLExport::WriteConsolidation()
 
     sStrData.clear();
     for( sal_Int32 nIndex = 0; nIndex < pCons->nDataAreaCount; ++nIndex )
-        ScRangeStringConverter::GetStringFromArea( sStrData, 
pCons->pDataAreas[ nIndex ], pDoc, FormulaGrammar::CONV_OOO, ' ', true );
+        ScRangeStringConverter::GetStringFromArea( sStrData, 
pCons->pDataAreas[ nIndex ], mpDoc, FormulaGrammar::CONV_OOO, ' ', true );
     AddAttribute( XML_NAMESPACE_TABLE, XML_SOURCE_CELL_RANGE_ADDRESSES, 
sStrData );
 
-    ScRangeStringConverter::GetStringFromAddress( sStrData, ScAddress( 
pCons->nCol, pCons->nRow, pCons->nTab ), pDoc, FormulaGrammar::CONV_OOO );
+    ScRangeStringConverter::GetStringFromAddress( sStrData, ScAddress( 
pCons->nCol, pCons->nRow, pCons->nTab ), mpDoc, FormulaGrammar::CONV_OOO );
     AddAttribute( XML_NAMESPACE_TABLE, XML_TARGET_CELL_ADDRESS, sStrData );
 
     if( pCons->bByCol && !pCons->bByRow )
@@ -5218,7 +5217,7 @@ XMLPageExport* ScXMLExport::CreatePageExport()
 
 void 
ScXMLExport::GetChangeTrackViewSettings(uno::Sequence<beans::PropertyValue>& 
rProps)
 {
-    ScChangeViewSettings* pViewSettings(GetDocument() ? 
GetDocument()->GetChangeViewSettings() : nullptr);
+    ScChangeViewSettings* pViewSettings(mpDoc ? mpDoc->GetChangeViewSettings() 
: nullptr);
     if (!pViewSettings)
         return;
 
@@ -5253,7 +5252,7 @@ void 
ScXMLExport::GetChangeTrackViewSettings(uno::Sequence<beans::PropertyValue>
     pChangeProps[SC_SHOW_CHANGES_BY_RANGES].Name = "ShowChangesByRanges";
     pChangeProps[SC_SHOW_CHANGES_BY_RANGES].Value <<= 
pViewSettings->HasRange();
     OUString sRangeList;
-    ScRangeStringConverter::GetStringFromRangeList(sRangeList, 
&(pViewSettings->GetTheRangeList()), GetDocument(), FormulaGrammar::CONV_OOO);
+    ScRangeStringConverter::GetStringFromRangeList(sRangeList, 
&(pViewSettings->GetTheRangeList()), mpDoc, FormulaGrammar::CONV_OOO);
     pChangeProps[SC_SHOW_CHANGES_BY_RANGES_LIST].Name = 
"ShowChangesByRangesList";
     pChangeProps[SC_SHOW_CHANGES_BY_RANGES_LIST].Value <<= sRangeList;
 
@@ -5304,26 +5303,26 @@ void 
ScXMLExport::GetConfigurationSettings(uno::Sequence<beans::PropertyValue>&
 
     sal_Int32 nPropsToAdd = 0;
     OUStringBuffer aTrackedChangesKey;
-    if (GetDocument() && GetDocument()->GetChangeTrack() && 
GetDocument()->GetChangeTrack()->IsProtected())
+    if (mpDoc && mpDoc->GetChangeTrack() && 
mpDoc->GetChangeTrack()->IsProtected())
     {
         ::comphelper::Base64::encode(aTrackedChangesKey,
-                GetDocument()->GetChangeTrack()->GetProtection());
+                mpDoc->GetChangeTrack()->GetProtection());
         if (!aTrackedChangesKey.isEmpty())
             ++nPropsToAdd;
     }
 
     bool bVBACompat = false;
     uno::Reference <container::XNameAccess> xCodeNameAccess;
-    OSL_ENSURE( pDoc, "ScXMLExport::GetConfigurationSettings - no ScDocument!" 
);
+    OSL_ENSURE( mpDoc, "ScXMLExport::GetConfigurationSettings - no 
ScDocument!" );
     // tdf#71271 - add code names regardless of VBA compatibility mode
-    if (pDoc)
+    if (mpDoc)
     {
         // VBA compatibility mode
-        if (bVBACompat = pDoc->IsInVBAMode(); bVBACompat)
+        if (bVBACompat = mpDoc->IsInVBAMode(); bVBACompat)
             ++nPropsToAdd;
 
         // code names
-        xCodeNameAccess = new XMLCodeNameProvider( pDoc );
+        xCodeNameAccess = new XMLCodeNameProvider( mpDoc );
         if( xCodeNameAccess->hasElements() )
             ++nPropsToAdd;
         else
@@ -5416,7 +5415,7 @@ ErrCode ScXMLExport::exportDoc( enum XMLTokenEnum eClass )
     if( getExportFlags() & 
(SvXMLExportFlags::FONTDECLS|SvXMLExportFlags::STYLES|
                              
SvXMLExportFlags::MASTERSTYLES|SvXMLExportFlags::CONTENT) )
     {
-        if (GetDocument())
+        if (mpDoc)
         {
             // if source doc was Excel then
             uno::Reference< frame::XModel > xModel = GetModel();
@@ -5431,10 +5430,10 @@ ErrCode ScXMLExport::exportDoc( enum XMLTokenEnum 
eClass )
                         xRowStylesExportPropertySetMapper );
                 }
             }
-            CollectUserDefinedNamespaces(GetDocument()->GetPool(), 
ATTR_USERDEF);
-            CollectUserDefinedNamespaces(GetDocument()->GetEditPool(), 
EE_PARA_XMLATTRIBS);
-            CollectUserDefinedNamespaces(GetDocument()->GetEditPool(), 
EE_CHAR_XMLATTRIBS);
-            ScDrawLayer* pDrawLayer = GetDocument()->GetDrawLayer();
+            CollectUserDefinedNamespaces(mpDoc->GetPool(), ATTR_USERDEF);
+            CollectUserDefinedNamespaces(mpDoc->GetEditPool(), 
EE_PARA_XMLATTRIBS);
+            CollectUserDefinedNamespaces(mpDoc->GetEditPool(), 
EE_CHAR_XMLATTRIBS);
+            ScDrawLayer* pDrawLayer = mpDoc->GetDrawLayer();
             if (pDrawLayer)
             {
                 CollectUserDefinedNamespaces(&pDrawLayer->GetItemPool(), 
EE_PARA_XMLATTRIBS);
@@ -5447,9 +5446,9 @@ ErrCode ScXMLExport::exportDoc( enum XMLTokenEnum eClass )
                 getSaneDefaultVersion() >= SvtSaveOptions::ODFSVER_012)
             {
                 bool bAnySheetEvents = false;
-                SCTAB nTabCount = pDoc->GetTableCount();
+                SCTAB nTabCount = mpDoc->GetTableCount();
                 for (SCTAB nTab=0; nTab<nTabCount; ++nTab)
-                    if (pDoc->GetSheetEvents(nTab))
+                    if (mpDoc->GetSheetEvents(nTab))
                         bAnySheetEvents = true;
                 if (bAnySheetEvents)
                     GetNamespaceMap_().Add(
@@ -5468,9 +5467,9 @@ void SAL_CALL ScXMLExport::setSourceDocument( const 
uno::Reference<lang::XCompon
     SolarMutexGuard aGuard;
     SvXMLExport::setSourceDocument( xComponent );
 
-    pDoc = ScXMLConverter::GetScDocument( GetModel() );
-    OSL_ENSURE( pDoc, "ScXMLExport::setSourceDocument - no ScDocument!" );
-    if (!pDoc)
+    mpDoc = ScXMLConverter::GetScDocument( GetModel() );
+    OSL_ENSURE( mpDoc, "ScXMLExport::setSourceDocument - no ScDocument!" );
+    if (!mpDoc)
         throw lang::IllegalArgumentException();
 
     // create ScChangeTrackingExportHelper after document is known
@@ -5484,10 +5483,10 @@ void SAL_CALL ScXMLExport::setSourceDocument( const 
uno::Reference<lang::XCompon
         // ODF 1.0 and 1.1 use GRAM_PODF, everything later or unspecified 
GRAM_ODFF
         case SvtSaveOptions::ODFSVER_010:
         case SvtSaveOptions::ODFSVER_011:
-            pDoc->SetStorageGrammar( formula::FormulaGrammar::GRAM_PODF);
+            mpDoc->SetStorageGrammar( formula::FormulaGrammar::GRAM_PODF);
             break;
         default:
-            pDoc->SetStorageGrammar( formula::FormulaGrammar::GRAM_ODFF);
+            mpDoc->SetStorageGrammar( formula::FormulaGrammar::GRAM_ODFF);
     }
 }
 
@@ -5495,19 +5494,19 @@ void SAL_CALL ScXMLExport::setSourceDocument( const 
uno::Reference<lang::XCompon
 sal_Bool SAL_CALL ScXMLExport::filter( const css::uno::Sequence< 
css::beans::PropertyValue >& aDescriptor )
 {
     SolarMutexGuard aGuard;
-    if (pDoc)
-        pDoc->EnableIdle(false);
+    if (mpDoc)
+        mpDoc->EnableIdle(false);
     bool bReturn(SvXMLExport::filter(aDescriptor));
-    if (pDoc)
-        pDoc->EnableIdle(true);
+    if (mpDoc)
+        mpDoc->EnableIdle(true);
     return bReturn;
 }
 
 void SAL_CALL ScXMLExport::cancel()
 {
     SolarMutexGuard aGuard;
-    if (pDoc)
-        pDoc->EnableIdle(true);
+    if (mpDoc)
+        mpDoc->EnableIdle(true);
     SvXMLExport::cancel();
 }
 
@@ -5521,7 +5520,7 @@ void SAL_CALL ScXMLExport::initialize( const 
css::uno::Sequence< css::uno::Any >
 void ScXMLExport::DisposingModel()
 {
     SvXMLExport::DisposingModel();
-    pDoc = nullptr;
+    mpDoc = nullptr;
     xCurrentTable = nullptr;
 }
 
diff --git a/sc/source/filter/xml/xmlexprt.hxx 
b/sc/source/filter/xml/xmlexprt.hxx
index aaf490736a45..310c54b60f7b 100644
--- a/sc/source/filter/xml/xmlexprt.hxx
+++ b/sc/source/filter/xml/xmlexprt.hxx
@@ -72,7 +72,7 @@ class CompileFormulaContext;
 
 class ScXMLExport : public SvXMLExport
 {
-    ScDocument*                 pDoc;
+    ScDocument*                 mpDoc;
     css::uno::Reference <css::sheet::XSpreadsheet> xCurrentTable;
 
     css::uno::Reference<css::io::XInputStream> xSourceStream;
@@ -239,8 +239,8 @@ public:
     void collectAutoStyles() override;
 
     static sal_Int16 GetMeasureUnit();
-    ScDocument*          GetDocument()           { return pDoc; }
-    const ScDocument*    GetDocument() const     { return pDoc; }
+    SAL_RET_MAYBENULL ScDocument*          GetDocument()           { return 
mpDoc; }
+    SAL_RET_MAYBENULL const ScDocument*    GetDocument() const     { return 
mpDoc; }
     bool IsMatrix (const ScAddress& aCell,
         ScRange& aCellAddress, bool& bIsFirst) const;
 
diff --git a/sc/source/filter/xml/xmlfonte.cxx 
b/sc/source/filter/xml/xmlfonte.cxx
index 6024a6e3b092..48900a8d0807 100644
--- a/sc/source/filter/xml/xmlfonte.cxx
+++ b/sc/source/filter/xml/xmlfonte.cxx
@@ -74,6 +74,10 @@ void ScXMLFontAutoStylePool_Impl::AddFontItems(const 
sal_uInt16* pWhichIds, sal_
 ScXMLFontAutoStylePool_Impl::ScXMLFontAutoStylePool_Impl(ScXMLExport& 
rExportP, bool bEmbedFonts)
     : XMLFontAutoStylePool(rExportP, bEmbedFonts)
 {
+    ScDocument* pDoc = rExportP.GetDocument();
+    if (!pDoc)
+        return;
+
     sal_uInt16 const aWhichIds[]     { ATTR_FONT, ATTR_CJK_FONT,
                                        ATTR_CTL_FONT };
     sal_uInt16 const aEditWhichIds[] { EE_CHAR_FONTINFO, EE_CHAR_FONTINFO_CJK,
@@ -82,17 +86,17 @@ 
ScXMLFontAutoStylePool_Impl::ScXMLFontAutoStylePool_Impl(ScXMLExport& rExportP,
                                        ATTR_PAGE_HEADERRIGHT, 
ATTR_PAGE_FOOTERRIGHT,
                                        ATTR_PAGE_HEADERFIRST, 
ATTR_PAGE_FOOTERFIRST };
 
-    const SfxItemPool* pItemPool(rExportP.GetDocument()->GetPool());
+    const SfxItemPool* pItemPool(pDoc->GetPool());
     AddFontItems(aWhichIds, 3, pItemPool, true);
-    const SfxItemPool* pEditPool(rExportP.GetDocument()->GetEditPool());
+    const SfxItemPool* pEditPool(pDoc->GetEditPool());
     AddFontItems(aEditWhichIds, 3, pEditPool, false);
 
-    std::unique_ptr<SfxStyleSheetIterator> pItr = 
rExportP.GetDocument()->GetStyleSheetPool()->CreateIterator(SfxStyleFamily::Page);
+    std::unique_ptr<SfxStyleSheetIterator> pItr = 
pDoc->GetStyleSheetPool()->CreateIterator(SfxStyleFamily::Page);
 
-    m_bEmbedUsedOnly = rExportP.GetDocument()->IsEmbedUsedFontsOnly();
-    m_bEmbedLatinScript = rExportP.GetDocument()->IsEmbedFontScriptLatin();
-    m_bEmbedAsianScript = rExportP.GetDocument()->IsEmbedFontScriptAsian();
-    m_bEmbedComplexScript = rExportP.GetDocument()->IsEmbedFontScriptComplex();
+    m_bEmbedUsedOnly = pDoc->IsEmbedUsedFontsOnly();
+    m_bEmbedLatinScript = pDoc->IsEmbedFontScriptLatin();
+    m_bEmbedAsianScript = pDoc->IsEmbedFontScriptAsian();
+    m_bEmbedComplexScript = pDoc->IsEmbedFontScriptComplex();
 
     if(!pItr)
         return;
@@ -152,7 +156,7 @@ XMLFontAutoStylePool* ScXMLExport::CreateFontAutoStylePool()
     // the embedding only in one of them.
     if(!( getExportFlags() & SvXMLExportFlags::CONTENT ))
         blockFontEmbedding = true;
-    if (!GetDocument()->IsEmbedFonts())
+    if (mpDoc && !mpDoc->IsEmbedFonts())
         blockFontEmbedding = true;
     return new ScXMLFontAutoStylePool_Impl( *this, !blockFontEmbedding );
 }
diff --git a/sc/source/filter/xml/xmlimprt.cxx 
b/sc/source/filter/xml/xmlimprt.cxx
index fdcbec5b5ce0..d38683a953e5 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -354,7 +354,7 @@ ScXMLImport::ScXMLImport(
     OUString const & implementationName, SvXMLImportFlags nImportFlag,
     const css::uno::Sequence< OUString > & sSupportedServiceNames)
 :   SvXMLImport( rContext, implementationName, nImportFlag, 
sSupportedServiceNames ),
-    pDoc( nullptr ),
+    mpDoc( nullptr ),
     mpPostProcessData(nullptr),
     aTables(*this),
     nSolarMutexLocked(0),
@@ -602,20 +602,20 @@ void ScXMLImport::InsertStyles()
 
 void ScXMLImport::ExamineDefaultStyle()
 {
-    if (pDoc)
+    if (mpDoc)
     {
         // #i62435# after inserting the styles, check if the default style has 
a latin-script-only
         // number format (then, value cells can be pre-initialized with 
western script type)
 
-        const ScPatternAttr& 
rDefPattern(pDoc->getCellAttributeHelper().getDefaultCellAttribute());
-        if (sc::NumFmtUtil::isLatinScript(rDefPattern, *pDoc))
+        const ScPatternAttr& 
rDefPattern(mpDoc->getCellAttributeHelper().getDefaultCellAttribute());
+        if (sc::NumFmtUtil::isLatinScript(rDefPattern, *mpDoc))
             mpDocImport->setDefaultNumericScript(SvtScriptType::LATIN);
     }
 }
 
 void ScXMLImport::SetChangeTrackingViewSettings(const 
css::uno::Sequence<css::beans::PropertyValue>& rChangeProps)
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
     if (!rChangeProps.hasElements())
@@ -685,12 +685,12 @@ void ScXMLImport::SetChangeTrackingViewSettings(const 
css::uno::Sequence<css::be
             {
                 ScRangeList aRangeList;
                 ScRangeStringConverter::GetRangeListFromString(
-                    aRangeList, sRanges, *pDoc, FormulaGrammar::CONV_OOO);
+                    aRangeList, sRanges, *mpDoc, FormulaGrammar::CONV_OOO);
                 aViewSettings.SetTheRangeList(aRangeList);
             }
         }
     }
-    pDoc->SetChangeViewSettings(aViewSettings);
+    mpDoc->SetChangeViewSettings(aViewSettings);
 }
 
 void ScXMLImport::SetViewSettings(const uno::Sequence<beans::PropertyValue>& 
aViewProps)
@@ -755,14 +755,14 @@ void ScXMLImport::SetConfigurationSettings(const 
uno::Sequence<beans::PropertyVa
                 ::comphelper::Base64::decode(aPass, sKey);
                 if (aPass.hasElements())
                 {
-                    if (pDoc->GetChangeTrack())
-                        pDoc->GetChangeTrack()->SetProtection(aPass);
+                    if (mpDoc->GetChangeTrack())
+                        mpDoc->GetChangeTrack()->SetProtection(aPass);
                     else
                     {
                         std::set<OUString> aUsers;
-                        std::unique_ptr<ScChangeTrack> pTrack( new 
ScChangeTrack(*pDoc, std::move(aUsers)) );
+                        std::unique_ptr<ScChangeTrack> pTrack( new 
ScChangeTrack(*mpDoc, std::move(aUsers)) );
                         pTrack->SetProtection(aPass);
-                        pDoc->SetChangeTrack(std::move(pTrack));
+                        mpDoc->SetChangeTrack(std::move(pTrack));
                     }
                 }
             }
@@ -805,7 +805,7 @@ sal_Int32 ScXMLImport::SetCurrencySymbol(const sal_Int32 
nKey, std::u16string_vi
                 if (xProperties.is())
                 {
                     lang::Locale aLocale;
-                    if (GetDocument() && 
(xProperties->getPropertyValue(SC_LOCALE) >>= aLocale))
+                    if (mpDoc && (xProperties->getPropertyValue(SC_LOCALE) >>= 
aLocale))
                     {
                         {
                             ScXMLImport::MutexGuard aGuard(*this);
@@ -1112,16 +1112,16 @@ void SAL_CALL ScXMLImport::setTargetDocument( const 
css::uno::Reference< css::la
     SvXMLImport::setTargetDocument( xDoc );
 
     uno::Reference<frame::XModel> xModel(xDoc, uno::UNO_QUERY);
-    pDoc = ScXMLConverter::GetScDocument( xModel );
-    OSL_ENSURE( pDoc, "ScXMLImport::setTargetDocument - no ScDocument!" );
-    if (!pDoc)
+    mpDoc = ScXMLConverter::GetScDocument( xModel );
+    OSL_ENSURE( mpDoc, "ScXMLImport::setTargetDocument - no ScDocument!" );
+    if (!mpDoc)
         throw lang::IllegalArgumentException();
 
-    if (ScDocShell* pDocSh = pDoc->GetDocumentShell())
-        pDocSh->SetInitialLinkUpdate( pDocSh->GetMedium());
+    if (ScDocShell* mpDocSh = mpDoc->GetDocumentShell())
+        mpDocSh->SetInitialLinkUpdate( mpDocSh->GetMedium());
 
-    mpDocImport.reset(new ScDocumentImport(*pDoc));
-    mpComp.reset(new ScCompiler(*pDoc, ScAddress(), 
formula::FormulaGrammar::GRAM_ODFF));
+    mpDocImport.reset(new ScDocumentImport(*mpDoc));
+    mpComp.reset(new ScCompiler(*mpDoc, ScAddress(), 
formula::FormulaGrammar::GRAM_ODFF));
 
     uno::Reference<document::XActionLockable> xActionLockable(xDoc, 
uno::UNO_QUERY);
     if (xActionLockable.is())
@@ -1133,7 +1133,7 @@ void SAL_CALL ScXMLImport::startDocument()
 {
     ScXMLImport::MutexGuard aGuard(*this);
     SvXMLImport::startDocument();
-    if (pDoc && !pDoc->IsImportingXML())
+    if (mpDoc && !mpDoc->IsImportingXML())
     {
         GetScModel()->BeforeXMLLoading();
         bSelfImportingXMLSet = true;
@@ -1230,9 +1230,9 @@ void ScXMLImport::SetLabelRanges()
         sal_Int32 nOffset2(0);
         FormulaGrammar::AddressConvention eConv = FormulaGrammar::CONV_OOO;
 
-        assert(pDoc);
-        if (ScRangeStringConverter::GetRangeFromString( aLabelRange, 
rLabelRange.sLabelRangeStr, *pDoc, eConv, nOffset1 ) &&
-            ScRangeStringConverter::GetRangeFromString( aDataRange, 
rLabelRange.sDataRangeStr, *pDoc, eConv, nOffset2 ))
+        assert(mpDoc);
+        if (ScRangeStringConverter::GetRangeFromString( aLabelRange, 
rLabelRange.sLabelRangeStr, *mpDoc, eConv, nOffset1 ) &&
+            ScRangeStringConverter::GetRangeFromString( aDataRange, 
rLabelRange.sDataRangeStr, *mpDoc, eConv, nOffset2 ))
         {
             if ( rLabelRange.bColumnOrientation )
                 xColRanges->addNew( aLabelRange, aDataRange );
@@ -1307,45 +1307,45 @@ void ScXMLImport::SetNamedRanges()
     if (m_aMyNamedExpressions.empty())
         return;
 
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
     // Insert the namedRanges
-    ScRangeName* pRangeNames = pDoc->GetRangeName();
+    ScRangeName* pRangeNames = mpDoc->GetRangeName();
     ::std::for_each(m_aMyNamedExpressions.begin(), m_aMyNamedExpressions.end(),
-            RangeNameInserter(*pDoc, *pRangeNames, -1));
+            RangeNameInserter(*mpDoc, *pRangeNames, -1));
 }
 
 void ScXMLImport::SetSheetNamedRanges()
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
     for (auto const& itr : m_SheetNamedExpressions)
     {
         const SCTAB nTab = itr.first;
-        ScRangeName* pRangeNames = pDoc->GetRangeName(nTab);
+        ScRangeName* pRangeNames = mpDoc->GetRangeName(nTab);
         if (!pRangeNames)
             continue;
 
         const ScMyNamedExpressions& rNames = itr.second;
-        ::std::for_each(rNames.begin(), rNames.end(), RangeNameInserter(*pDoc, 
*pRangeNames, nTab));
+        ::std::for_each(rNames.begin(), rNames.end(), 
RangeNameInserter(*mpDoc, *pRangeNames, nTab));
     }
 }
 
 void ScXMLImport::SetStringRefSyntaxIfMissing()
 {
-    if (!pDoc)
+    if (!mpDoc)
         return;
 
-    ScCalcConfig aCalcConfig = pDoc->GetCalcConfig();
+    ScCalcConfig aCalcConfig = mpDoc->GetCalcConfig();
 
     // Has any string ref syntax been imported?
     // If not, we need to take action
     if ( !aCalcConfig.mbHasStringRefSyntax )
     {
         aCalcConfig.meStringRefAddressSyntax = 
formula::FormulaGrammar::CONV_A1_XL_A1;
-        pDoc->SetCalcConfig(aCalcConfig);
+        mpDoc->SetCalcConfig(aCalcConfig);
     }
 }
 
@@ -1374,9 +1374,9 @@ void SAL_CALL ScXMLImport::endDocument()
                             if(rProp.Value >>= sTabName)
                             {
                                 SCTAB nTab(0);
-                                if (pDoc->GetTable(sTabName, nTab))
+                                if (mpDoc->GetTable(sTabName, nTab))
                                 {
-                                    pDoc->SetVisibleTab(nTab);
+                                    mpDoc->SetVisibleTab(nTab);
                                     break;
                                 }
                             }
@@ -1393,65 +1393,65 @@ void SAL_CALL ScXMLImport::endDocument()
                 mpPivotSources->process();
         }
         GetProgressBarHelper()->End();  // make room for subsequent 
SfxProgressBars
-        if (pDoc)
+        if (mpDoc)
         {
-            pDoc->CompileXML();
+            mpDoc->CompileXML();
 
             // After CompileXML, links must be completely changed to the new 
URLs.
             // Otherwise, hasExternalFile for API wouldn't work (#i116940#),
             // and typing a new formula would create a second link with the 
same "real" file name.
-            if (pDoc->HasExternalRefManager())
-                pDoc->GetExternalRefManager()->updateAbsAfterLoad();
+            if (mpDoc->HasExternalRefManager())
+                mpDoc->GetExternalRefManager()->updateAbsAfterLoad();
         }
 
         // If the stream contains cells outside of the current limits, the 
styles can't be re-created,
         // so stream copying is disabled then.
-        if (pDoc && GetModel().is() && !pDoc->HasRangeOverflow())
+        if (mpDoc && GetModel().is() && !mpDoc->HasRangeOverflow())
         {
             // set "valid stream" flags after loading (before 
UpdateRowHeights, so changed formula results
             // in UpdateRowHeights can already clear the flags again)
             ScSheetSaveData* pSheetData = GetScModel()->GetSheetSaveData();
 
-            SCTAB nTabCount = pDoc->GetTableCount();
+            SCTAB nTabCount = mpDoc->GetTableCount();
             for (SCTAB nTab=0; nTab<nTabCount; ++nTab)
             {
-                pDoc->SetDrawPageSize(nTab);
+                mpDoc->SetDrawPageSize(nTab);
                 if (!pSheetData->IsSheetBlocked( nTab ))
-                    pDoc->SetStreamValid( nTab, true );
+                    mpDoc->SetStreamValid( nTab, true );
             }
         }
 
         // There are rows with optimal height which need to be updated
-        if (pDoc && !maRecalcRowRanges.empty() && pDoc->GetDocumentShell()
-            && pDoc->GetDocumentShell()->GetRecalcRowHeightsMode())
+        if (mpDoc && !maRecalcRowRanges.empty() && mpDoc->GetDocumentShell()
+            && mpDoc->GetDocumentShell()->GetRecalcRowHeightsMode())
         {
-            bool bLockHeight = pDoc->IsAdjustHeightLocked();
+            bool bLockHeight = mpDoc->IsAdjustHeightLocked();
             if (bLockHeight)
             {
-                pDoc->UnlockAdjustHeight();
+                mpDoc->UnlockAdjustHeight();
             }
 
-            ScSizeDeviceProvider aProv(pDoc->GetDocumentShell());
-            ScDocRowHeightUpdater aUpdater(*pDoc, aProv.GetDevice(), 
aProv.GetPPTX(), aProv.GetPPTY(), &maRecalcRowRanges);
+            ScSizeDeviceProvider aProv(mpDoc->GetDocumentShell());
+            ScDocRowHeightUpdater aUpdater(*mpDoc, aProv.GetDevice(), 
aProv.GetPPTX(), aProv.GetPPTY(), &maRecalcRowRanges);
             aUpdater.update();
 
             if (bLockHeight)
             {
-                pDoc->LockAdjustHeight();
+                mpDoc->LockAdjustHeight();
             }
         }
 
         // Initialize and set position and size of objects
-        if (pDoc && pDoc->GetDrawLayer())
+        if (mpDoc && mpDoc->GetDrawLayer())
         {
-            ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer();
-            SCTAB nTabCount = pDoc->GetTableCount();
+            ScDrawLayer* pDrawLayer = mpDoc->GetDrawLayer();
+            SCTAB nTabCount = mpDoc->GetTableCount();
             for (SCTAB nTab = 0; nTab < nTabCount; ++nTab)
             {
                 const SdrPage* pPage = pDrawLayer->GetPage(nTab);
                 if (!pPage)
                     continue;
-                bool bNegativePage = pDoc->IsNegativePage(nTab);
+                bool bNegativePage = mpDoc->IsNegativePage(nTab);
                 for (const rtl::Reference<SdrObject>& pObj : *pPage)
                 {
                     ScDrawObjData* pData
@@ -1477,12 +1477,12 @@ void SAL_CALL ScXMLImport::endDocument()
     }
     SvXMLImport::endDocument();
 
-    if (pDoc)
+    if (mpDoc)
     {
-        pDoc->BroadcastUno(SfxHint(SfxHintId::ScClearCache));
+        mpDoc->BroadcastUno(SfxHint(SfxHintId::ScClearCache));
     }
 
-    if(pDoc && bSelfImportingXMLSet)
+    if(mpDoc && bSelfImportingXMLSet)
         GetScModel()->AfterXMLLoading();
 }
 
@@ -1490,7 +1490,7 @@ void SAL_CALL ScXMLImport::endDocument()
 void ScXMLImport::DisposingModel()
 {
     SvXMLImport::DisposingModel();
-    pDoc = nullptr;
+    mpDoc = nullptr;
 }
 
 ScXMLImport::MutexGuard::MutexGuard(ScXMLImport& rImport) :
@@ -1551,8 +1551,8 @@ void ScXMLImport::SetRangeOverflowType(ErrCode nType)
     //  isn't available in ScXMLImportWrapper::ImportFromComponent when using 
the
     //  OOo->Oasis transformation.
 
-    if ( pDoc )
-        pDoc->SetRangeOverflowType( nType );
+    if ( mpDoc )
+        mpDoc->SetRangeOverflowType( nType );
 }
 
 void ScXMLImport::ProgressBarIncrement()
@@ -1586,12 +1586,15 @@ void ScXMLImport::ExtractFormulaNamespaceGrammar(
             return;
     }
 
+    if (!mpDoc)
+        return;
+
     /*  Find default grammar for formulas without namespace. There may be
         documents in the wild that stored no namespace in ODF 1.0/1.1. Use
         GRAM_PODF then (old style ODF 1.0/1.1 formulas). The default for ODF
         1.2 and later without namespace is GRAM_ODFF (OpenFormula). */
     FormulaGrammar::Grammar eDefaultGrammar =
-        (GetDocument()->GetStorageGrammar() == FormulaGrammar::GRAM_PODF) ?
+        (mpDoc->GetStorageGrammar() == FormulaGrammar::GRAM_PODF) ?
             FormulaGrammar::GRAM_PODF : FormulaGrammar::GRAM_ODFF;
 
     /*  Check if we have no namespace at all. The value XML_NAMESPACE_NONE
@@ -1611,7 +1614,7 @@ void ScXMLImport::ExtractFormulaNamespaceGrammar(
         conjunction with defined names is confused as namespaces prefix, e.g.
         in the expression 'table:A1' where 'table' is a named reference. */
     if( ((nNsId & XML_NAMESPACE_UNKNOWN_FLAG) != 0) && !rFormulaNmsp.isEmpty() 
&&
-        GetDocument()->GetFormulaParserPool().hasFormulaParser( rFormulaNmsp ) 
)
+        mpDoc->GetFormulaParserPool().hasFormulaParser( rFormulaNmsp ) )
     {
         reGrammar = FormulaGrammar::GRAM_EXTERNAL;
         return;
@@ -1636,9 +1639,9 @@ ScEditEngineDefaulter* ScXMLImport::GetEditEngine()
 {
     if (!mpEditEngine)
     {
-        mpEditEngine.reset(new ScEditEngineDefaulter(pDoc->GetEnginePool()));
+        mpEditEngine.reset(new ScEditEngineDefaulter(mpDoc->GetEnginePool()));
         mpEditEngine->SetRefMapMode(MapMode(MapUnit::Map100thMM));
-        mpEditEngine->SetEditTextObjectPool(pDoc->GetEditPool());
+        mpEditEngine->SetEditTextObjectPool(mpDoc->GetEditPool());
         mpEditEngine->SetUpdateLayout(false);
         mpEditEngine->EnableUndo(false);
         mpEditEngine->SetControlWord(mpEditEngine->GetControlWord() & 
~EEControlBits::ALLOWBIGOBJS);
@@ -1655,8 +1658,8 @@ const ScXMLEditAttributeMap& 
ScXMLImport::GetEditAttributeMap() const
 
 void ScXMLImport::NotifyContainsEmbeddedFont()
 {
-    if (pDoc)
-        pDoc->SetEmbedFonts(true);
+    if (mpDoc)
+        mpDoc->SetEmbedFonts(true);
 }
 
 ScMyImpDetectiveOpArray* ScXMLImport::GetDetectiveOpArray()
diff --git a/sc/source/filter/xml/xmlimprt.hxx 
b/sc/source/filter/xml/xmlimprt.hxx
index 925df7c6e785..74958aa1398f 100644
--- a/sc/source/filter/xml/xmlimprt.hxx
+++ b/sc/source/filter/xml/xmlimprt.hxx
@@ -121,7 +121,7 @@ class ScXMLImport: public SvXMLImport
 
     typedef ::std::map<SCTAB, ScMyNamedExpressions> SheetNamedExpMap;
 
-    ScDocument*             pDoc;
+    ScDocument*             mpDoc;
     std::unique_ptr<ScDocumentImport> mpDocImport;
     std::unique_ptr<ScCompiler> mpComp; // For error-checking of cached string 
cell values.
     std::unique_ptr<ScEditEngineDefaulter> mpEditEngine;
@@ -205,8 +205,8 @@ public:
 
     ScDocumentImport& GetDoc();
 
-    ScDocument*          GetDocument()           { return pDoc; }
-    const ScDocument*    GetDocument() const     { return pDoc; }
+    SAL_RET_MAYBENULL ScDocument*          GetDocument()           { return 
mpDoc; }
+    SAL_RET_MAYBENULL const ScDocument*    GetDocument() const     { return 
mpDoc; }
 
     ScModelObj* GetScModel() const;
 
diff --git a/sc/source/filter/xml/xmlnexpi.cxx 
b/sc/source/filter/xml/xmlnexpi.cxx
index 4711e3f1ab1a..b25920f1f54b 100644
--- a/sc/source/filter/xml/xmlnexpi.cxx
+++ b/sc/source/filter/xml/xmlnexpi.cxx
@@ -87,11 +87,14 @@ ScXMLNamedRangeContext::ScXMLNamedRangeContext(
     if (!pInserter)
         return;
 
+    ScDocument* pDoc = GetScImport().GetDocument();
+    if (!pDoc)
+        return;
     ScMyNamedExpression aNamedExpression;
     // A simple table:cell-range-address is not a formula expression, stored
     // without [] brackets but with dot, .A1
     aNamedExpression.eGrammar = formula::FormulaGrammar::mergeToGrammar(
-            GetScImport().GetDocument()->GetStorageGrammar(),
+            pDoc->GetStorageGrammar(),
             formula::FormulaGrammar::CONV_OOO);
 
     if ( rAttrList.is() )
diff --git a/sc/source/filter/xml/xmlrowi.cxx b/sc/source/filter/xml/xmlrowi.cxx
index 418142d79caa..a75b32ac60f6 100644
--- a/sc/source/filter/xml/xmlrowi.cxx
+++ b/sc/source/filter/xml/xmlrowi.cxx
@@ -72,10 +72,13 @@ ScXMLTableRowContext::ScXMLTableRowContext( ScXMLImport& 
rImport,
                 break;
                 case XML_ELEMENT( TABLE, XML_NUMBER_ROWS_REPEATED ):
                 {
-                    nRepeatedRows = std::max( it.toInt32(), sal_Int32(1) );
-                    nRepeatedRows = std::min( nRepeatedRows, 
rImport.GetDocument()->GetSheetLimits().GetMaxRowCount() );
-                    if (comphelper::IsFuzzing())
-                        nRepeatedRows = std::min(nRepeatedRows, 
sal_Int32(1024));
+                    if (ScDocument* pDoc = rImport.GetDocument())
+                    {
+                        nRepeatedRows = std::max( it.toInt32(), sal_Int32(1) );
+                        nRepeatedRows = std::min( nRepeatedRows, 
pDoc->GetSheetLimits().GetMaxRowCount() );
+                        if (comphelper::IsFuzzing())
+                            nRepeatedRows = std::min(nRepeatedRows, 
sal_Int32(1024));
+                    }
                 }
                 break;
                 case XML_ELEMENT( TABLE, XML_DEFAULT_CELL_STYLE_NAME ):
@@ -139,6 +142,9 @@ void SAL_CALL 
ScXMLTableRowContext::endFastElement(sal_Int32 /*nElement*/)
 {
     ScXMLImport& rXMLImport(GetScImport());
     ScDocument* pDoc(rXMLImport.GetDocument());
+    if (!pDoc)
+        return;
+
     if (!bHasCell && nRepeatedRows > 1)
     {
         for (sal_Int32 i = 0; i < nRepeatedRows - 1; ++i) //one row is always 
added
diff --git a/sc/source/filter/xml/xmlstyli.cxx 
b/sc/source/filter/xml/xmlstyli.cxx
index a94768a175a5..3c8bf9805ec8 100644
--- a/sc/source/filter/xml/xmlstyli.cxx
+++ b/sc/source/filter/xml/xmlstyli.cxx
@@ -400,6 +400,7 @@ ScCondFormatEntry* ScXMLMapContext::CreateConditionEntry()
 
     ScConditionMode eMode = 
ScConditionEntry::GetModeFromApi(aParseResult.meOperator);
     ScDocument* pDoc = GetScImport().GetDocument();
+    assert(pDoc);
 
     ScCondFormatEntry* pEntry =  new ScCondFormatEntry(eMode, 
aParseResult.maOperand1, aParseResult.maOperand2, *pDoc, ScAddress(), 
msApplyStyle,
                                                     OUString(), OUString(), 
eGrammar, eGrammar);
@@ -488,6 +489,9 @@ void XMLTableStyleContext::ApplyCondFormat( const 
uno::Sequence<table::CellRange
     }
 
     ScDocument* pDoc = GetScImport().GetDocument();
+    if (!pDoc)
+        return;
+
     SCTAB nTab = GetScImport().GetTables().GetCurrentSheet();
     ScConditionalFormatList* pFormatList = pDoc->GetCondFormList(nTab);
     auto itr = std::find_if(pFormatList->begin(), pFormatList->end(),
diff --git a/sc/source/filter/xml/xmlsubti.cxx 
b/sc/source/filter/xml/xmlsubti.cxx
index 02cd36264ccb..5d09b36456e9 100644
--- a/sc/source/filter/xml/xmlsubti.cxx
+++ b/sc/source/filter/xml/xmlsubti.cxx
@@ -219,9 +219,12 @@ void ScMyTables::AddColStyle(const sal_Int32 nRepeat, 
const OUString& rCellStyle
 {
     rImport.GetStylesImportHelper()->AddColumnStyle(rCellStyleName, 
nCurrentColCount, nRepeat);
     nCurrentColCount += nRepeat;
-    SAL_WARN_IF(nCurrentColCount > 
rImport.GetDocument()->GetSheetLimits().GetMaxColCount(),
-        "sc", "more columns than fit into SCCOL");
-    nCurrentColCount = std::min<sal_Int32>( nCurrentColCount, 
rImport.GetDocument()->GetSheetLimits().GetMaxColCount() );
+    if (ScDocument* pDoc = rImport.GetDocument())
+    {
+        SAL_WARN_IF(nCurrentColCount > pDoc->GetSheetLimits().GetMaxColCount(),
+            "sc", "more columns than fit into SCCOL");
+        nCurrentColCount = std::min<sal_Int32>( nCurrentColCount, 
pDoc->GetSheetLimits().GetMaxColCount() );
+    }
 }
 
 uno::Reference< drawing::XDrawPage > const & ScMyTables::GetCurrentXDrawPage()
@@ -294,7 +297,10 @@ bool ScMyTables::IsPartOfMatrix(const ScAddress& 
rScAddress) const
 
 SCCOL ScMyTables::GetCurrentColCount() const
 {
-    return std::min<sal_Int32>(nCurrentColCount, 
rImport.GetDocument()->MaxCol());
+    ScDocument* pDoc = rImport.GetDocument();
+    if (!pDoc)
+        return nCurrentColCount;
+    return std::min<sal_Int32>(nCurrentColCount, pDoc->MaxCol());
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Reply via email to