summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/inc/unocoll.hxx10
-rw-r--r--sw/inc/unotxdoc.hxx3
-rw-r--r--sw/source/core/unocore/unocoll.cxx234
-rw-r--r--sw/source/core/unocore/unocontentcontrol.cxx21
-rw-r--r--sw/source/core/unocore/unofield.cxx28
-rw-r--r--sw/source/core/unocore/unoidx.cxx31
-rw-r--r--sw/source/core/unocore/unoredlines.cxx19
-rw-r--r--sw/source/core/unocore/unosett.cxx2
-rw-r--r--sw/source/uibase/uno/unotxdoc.cxx214
9 files changed, 231 insertions, 331 deletions
diff --git a/sw/inc/unocoll.hxx b/sw/inc/unocoll.hxx
index 90f634ab9cbc..74009f9f2450 100644
--- a/sw/inc/unocoll.hxx
+++ b/sw/inc/unocoll.hxx
@@ -44,19 +44,19 @@ const SvEventDescription* sw_GetSupportedMacroItems();
class SwUnoCollection
{
SwDoc* m_pDoc;
- bool m_bObjectValid;
public:
SwUnoCollection(SwDoc* p) :
- m_pDoc(p),
- m_bObjectValid(true){}
+ m_pDoc(p){}
virtual ~SwUnoCollection() {}
virtual void Invalidate();
- bool IsValid() const {return m_bObjectValid;}
- SwDoc* GetDoc() const {return m_pDoc;}
+protected:
+ bool IsValid() const { return m_pDoc; }
+
+ SwDoc& GetDoc() const;
};
/** entries in this enum are mapped in an array in unocoll.cxx */
diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index 01619df1d382..32ae6c27e452 100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -210,6 +210,9 @@ private:
virtual SdrModel& getSdrModelFromUnoModel() const override;
virtual ~SwXTextDocument() override;
+
+ SwDoc& GetDocOrThrow() const;
+
public:
SwXTextDocument(SwDocShell* pShell);
diff --git a/sw/source/core/unocore/unocoll.cxx b/sw/source/core/unocore/unocoll.cxx
index 1b2c4f3c07d0..d0f33324214b 100644
--- a/sw/source/core/unocore/unocoll.cxx
+++ b/sw/source/core/unocore/unocoll.cxx
@@ -75,6 +75,7 @@
#include <cppuhelper/implbase.hxx>
#include <sfx2/event.hxx>
#include <sal/log.hxx>
+#include <tools/debug.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::document;
@@ -857,21 +858,19 @@ sal_Int32 SwXTextTables::getCount()
SolarMutexGuard aGuard;
sal_Int32 nRet = 0;
if(IsValid())
- nRet = static_cast<sal_Int32>(GetDoc()->GetTableFrameFormatCount(true));
+ nRet = static_cast<sal_Int32>(GetDoc().GetTableFrameFormatCount(true));
return nRet;
}
uno::Any SAL_CALL SwXTextTables::getByIndex(sal_Int32 nInputIndex)
{
SolarMutexGuard aGuard;
- if (!IsValid())
- throw uno::RuntimeException();
if (nInputIndex < 0)
throw IndexOutOfBoundsException();
size_t nIndex = static_cast<size_t>(nInputIndex);
- for(SwTableFormat* pFormat: *GetDoc()->GetTableFrameFormats())
+ for(SwTableFormat* pFormat: *GetDoc().GetTableFrameFormats())
{
if(!pFormat->IsUsed())
continue;
@@ -892,14 +891,12 @@ uno::Any SwXTextTables::getByName(const OUString& rItemName)
{
SolarMutexGuard aGuard;
uno::Any aRet;
- if(!IsValid())
- throw uno::RuntimeException();
- const size_t nCount = GetDoc()->GetTableFrameFormatCount(true);
+ const size_t nCount = GetDoc().GetTableFrameFormatCount(true);
uno::Reference< XTextTable > xTable;
for( size_t i = 0; i < nCount; ++i)
{
- SwFrameFormat& rFormat = GetDoc()->GetTableFrameFormat(i, true);
+ SwFrameFormat& rFormat = GetDoc().GetTableFrameFormat(i, true);
if (rItemName == rFormat.GetName())
{
xTable = SwXTextTables::GetObject(rFormat);
@@ -916,16 +913,14 @@ uno::Any SwXTextTables::getByName(const OUString& rItemName)
uno::Sequence< OUString > SwXTextTables::getElementNames()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- const size_t nCount = GetDoc()->GetTableFrameFormatCount(true);
+ const size_t nCount = GetDoc().GetTableFrameFormatCount(true);
uno::Sequence<OUString> aSeq(static_cast<sal_Int32>(nCount));
if(nCount)
{
OUString* pArray = aSeq.getArray();
for( size_t i = 0; i < nCount; ++i)
{
- SwFrameFormat& rFormat = GetDoc()->GetTableFrameFormat(i, true);
+ SwFrameFormat& rFormat = GetDoc().GetTableFrameFormat(i, true);
pArray[i] = rFormat.GetName();
}
@@ -937,13 +932,11 @@ sal_Bool SwXTextTables::hasByName(const OUString& rName)
{
SolarMutexGuard aGuard;
bool bRet= false;
- if(!IsValid())
- throw uno::RuntimeException();
- const size_t nCount = GetDoc()->GetTableFrameFormatCount(true);
+ const size_t nCount = GetDoc().GetTableFrameFormatCount(true);
for( size_t i = 0; i < nCount; ++i)
{
- SwFrameFormat& rFormat = GetDoc()->GetTableFrameFormat(i, true);
+ SwFrameFormat& rFormat = GetDoc().GetTableFrameFormat(i, true);
if (rName == rFormat.GetName())
{
bRet = true;
@@ -962,9 +955,7 @@ uno::Type SAL_CALL
sal_Bool SwXTextTables::hasElements()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- return 0 != GetDoc()->GetTableFrameFormatCount(true);
+ return 0 != GetDoc().GetTableFrameFormatCount(true);
}
OUString SwXTextTables::getImplementationName()
@@ -1153,19 +1144,17 @@ SwXFrames::~SwXFrames()
uno::Reference<container::XEnumeration> SwXFrames::createEnumeration()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
switch(m_eType)
{
case FLYCNTTYPE_FRM:
return uno::Reference< container::XEnumeration >(
- new SwXFrameEnumeration<FLYCNTTYPE_FRM>(*GetDoc()));
+ new SwXFrameEnumeration<FLYCNTTYPE_FRM>(GetDoc()));
case FLYCNTTYPE_GRF:
return uno::Reference< container::XEnumeration >(
- new SwXFrameEnumeration<FLYCNTTYPE_GRF>(*GetDoc()));
+ new SwXFrameEnumeration<FLYCNTTYPE_GRF>(GetDoc()));
case FLYCNTTYPE_OLE:
return uno::Reference< container::XEnumeration >(
- new SwXFrameEnumeration<FLYCNTTYPE_OLE>(*GetDoc()));
+ new SwXFrameEnumeration<FLYCNTTYPE_OLE>(GetDoc()));
default:
throw uno::RuntimeException();
}
@@ -1174,21 +1163,17 @@ uno::Reference<container::XEnumeration> SwXFrames::createEnumeration()
sal_Int32 SwXFrames::getCount()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
// Ignore TextBoxes for TextFrames.
- return static_cast<sal_Int32>(GetDoc()->GetFlyCount(m_eType, /*bIgnoreTextBoxes=*/m_eType == FLYCNTTYPE_FRM));
+ return static_cast<sal_Int32>(GetDoc().GetFlyCount(m_eType, /*bIgnoreTextBoxes=*/m_eType == FLYCNTTYPE_FRM));
}
uno::Any SwXFrames::getByIndex(sal_Int32 nIndex)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
if(nIndex < 0)
throw IndexOutOfBoundsException();
// Ignore TextBoxes for TextFrames.
- SwFrameFormat* pFormat = GetDoc()->GetFlyNum(static_cast<size_t>(nIndex), m_eType, /*bIgnoreTextBoxes=*/m_eType == FLYCNTTYPE_FRM);
+ SwFrameFormat* pFormat = GetDoc().GetFlyNum(static_cast<size_t>(nIndex), m_eType, /*bIgnoreTextBoxes=*/m_eType == FLYCNTTYPE_FRM);
if(!pFormat)
throw IndexOutOfBoundsException();
return lcl_UnoWrapFrame(pFormat, m_eType);
@@ -1197,19 +1182,17 @@ uno::Any SwXFrames::getByIndex(sal_Int32 nIndex)
uno::Any SwXFrames::getByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
const SwFrameFormat* pFormat;
switch(m_eType)
{
case FLYCNTTYPE_GRF:
- pFormat = GetDoc()->FindFlyByName(rName, SwNodeType::Grf);
+ pFormat = GetDoc().FindFlyByName(rName, SwNodeType::Grf);
break;
case FLYCNTTYPE_OLE:
- pFormat = GetDoc()->FindFlyByName(rName, SwNodeType::Ole);
+ pFormat = GetDoc().FindFlyByName(rName, SwNodeType::Ole);
break;
default:
- pFormat = GetDoc()->FindFlyByName(rName, SwNodeType::Text);
+ pFormat = GetDoc().FindFlyByName(rName, SwNodeType::Text);
break;
}
if(!pFormat)
@@ -1220,8 +1203,6 @@ uno::Any SwXFrames::getByName(const OUString& rName)
uno::Sequence<OUString> SwXFrames::getElementNames()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
const Reference<XEnumeration> xEnum = createEnumeration();
std::vector<OUString> vNames;
while(xEnum->hasMoreElements())
@@ -1237,16 +1218,14 @@ uno::Sequence<OUString> SwXFrames::getElementNames()
sal_Bool SwXFrames::hasByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
switch(m_eType)
{
case FLYCNTTYPE_GRF:
- return GetDoc()->FindFlyByName(rName, SwNodeType::Grf) != nullptr;
+ return GetDoc().FindFlyByName(rName, SwNodeType::Grf) != nullptr;
case FLYCNTTYPE_OLE:
- return GetDoc()->FindFlyByName(rName, SwNodeType::Ole) != nullptr;
+ return GetDoc().FindFlyByName(rName, SwNodeType::Ole) != nullptr;
default:
- return GetDoc()->FindFlyByName(rName, SwNodeType::Text) != nullptr;
+ return GetDoc().FindFlyByName(rName, SwNodeType::Text) != nullptr;
}
}
@@ -1269,9 +1248,7 @@ uno::Type SAL_CALL SwXFrames::getElementType()
sal_Bool SwXFrames::hasElements()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- return GetDoc()->GetFlyCount(m_eType) > 0;
+ return GetDoc().GetFlyCount(m_eType) > 0;
}
@@ -1374,9 +1351,7 @@ SwXTextSections::~SwXTextSections()
sal_Int32 SwXTextSections::getCount()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- const SwSectionFormats& rSectFormats = GetDoc()->GetSections();
+ const SwSectionFormats& rSectFormats = GetDoc().GetSections();
size_t nCount = rSectFormats.size();
for(size_t i = nCount; i; --i)
{
@@ -1388,41 +1363,29 @@ sal_Int32 SwXTextSections::getCount()
uno::Any SwXTextSections::getByIndex(sal_Int32 nIndex)
{
+ if (nIndex < 0)
+ throw IndexOutOfBoundsException();
+ size_t nIndex2 = nIndex;
SolarMutexGuard aGuard;
- uno::Reference< XTextSection > xRet;
- if(!IsValid())
- throw uno::RuntimeException();
-
- SwSectionFormats& rFormats = GetDoc()->GetSections();
- const SwSectionFormats& rSectFormats = GetDoc()->GetSections();
+ const SwSectionFormats& rSectFormats = GetDoc().GetSections();
const size_t nCount = rSectFormats.size();
for(size_t i = 0; i < nCount; ++i)
{
if( !rSectFormats[i]->IsInNodesArr())
- nIndex ++;
- else if(static_cast<size_t>(nIndex) == i)
- break;
- if(static_cast<size_t>(nIndex) == i)
- break;
+ nIndex2++;
+ else if (nIndex2 == i)
+ return Any(GetObject(*rSectFormats[i]));
}
- if(nIndex < 0 || o3tl::make_unsigned(nIndex) >= rFormats.size())
- throw IndexOutOfBoundsException();
-
- SwSectionFormat* pFormat = rFormats[nIndex];
- xRet = GetObject(*pFormat);
-
- return Any(xRet);
+ throw IndexOutOfBoundsException();
}
uno::Any SwXTextSections::getByName(const OUString& rName)
{
SolarMutexGuard aGuard;
uno::Any aRet;
- if(!IsValid())
- throw uno::RuntimeException();
- SwSectionFormats& rFormats = GetDoc()->GetSections();
+ SwSectionFormats& rFormats = GetDoc().GetSections();
uno::Reference< XTextSection > xSect;
for(size_t i = 0; i < rFormats.size(); ++i)
{
@@ -1444,10 +1407,8 @@ uno::Any SwXTextSections::getByName(const OUString& rName)
uno::Sequence< OUString > SwXTextSections::getElementNames()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- size_t nCount = GetDoc()->GetSections().size();
- SwSectionFormats& rSectFormats = GetDoc()->GetSections();
+ SwSectionFormats& rSectFormats = GetDoc().GetSections();
+ size_t nCount = rSectFormats.size();
for(size_t i = nCount; i; --i)
{
if( !rSectFormats[i - 1]->IsInNodesArr())
@@ -1457,15 +1418,14 @@ uno::Sequence< OUString > SwXTextSections::getElementNames()
uno::Sequence<OUString> aSeq(nCount);
if(nCount)
{
- SwSectionFormats& rFormats = GetDoc()->GetSections();
OUString* pArray = aSeq.getArray();
size_t nIndex = 0;
for( size_t i = 0; i < nCount; ++i, ++nIndex)
{
- const SwSectionFormat* pFormat = rFormats[nIndex];
+ const SwSectionFormat* pFormat = rSectFormats[nIndex];
while(!pFormat->IsInNodesArr())
{
- pFormat = rFormats[++nIndex];
+ pFormat = rSectFormats[++nIndex];
}
pArray[i] = pFormat->GetSection()->GetSectionName();
}
@@ -1479,7 +1439,7 @@ sal_Bool SwXTextSections::hasByName(const OUString& rName)
bool bRet = false;
if(IsValid())
{
- SwSectionFormats& rFormats = GetDoc()->GetSections();
+ SwSectionFormats& rFormats = GetDoc().GetSections();
for(size_t i = 0; i < rFormats.size(); ++i)
{
const SwSectionFormat* pFormat = rFormats[i];
@@ -1508,10 +1468,8 @@ sal_Bool SwXTextSections::hasElements()
{
SolarMutexGuard aGuard;
size_t nCount = 0;
- if(!IsValid())
- throw uno::RuntimeException();
- SwSectionFormats& rFormats = GetDoc()->GetSections();
+ SwSectionFormats& rFormats = GetDoc().GetSections();
nCount = rFormats.size();
return nCount > 0;
@@ -1547,11 +1505,9 @@ SwXBookmarks::~SwXBookmarks()
sal_Int32 SwXBookmarks::getCount()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
sal_Int32 count(0);
- IDocumentMarkAccess* const pMarkAccess = GetDoc()->getIDocumentMarkAccess();
+ IDocumentMarkAccess* const pMarkAccess = GetDoc().getIDocumentMarkAccess();
for (IDocumentMarkAccess::const_iterator_t ppMark =
pMarkAccess->getBookmarksBegin();
ppMark != pMarkAccess->getBookmarksEnd(); ++ppMark)
@@ -1568,9 +1524,8 @@ sal_Int32 SwXBookmarks::getCount()
uno::Any SwXBookmarks::getByIndex(sal_Int32 nIndex)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- IDocumentMarkAccess* const pMarkAccess = GetDoc()->getIDocumentMarkAccess();
+ auto& rDoc = GetDoc();
+ IDocumentMarkAccess* const pMarkAccess = rDoc.getIDocumentMarkAccess();
if(nIndex < 0 || nIndex >= pMarkAccess->getBookmarksCount())
throw IndexOutOfBoundsException();
@@ -1586,7 +1541,7 @@ uno::Any SwXBookmarks::getByIndex(sal_Int32 nIndex)
{
uno::Any aRet;
const uno::Reference< text::XTextContent > xRef =
- SwXBookmark::CreateXBookmark(*GetDoc(), *ppMark);
+ SwXBookmark::CreateXBookmark(rDoc, *ppMark);
aRet <<= xRef;
return aRet;
}
@@ -1599,17 +1554,16 @@ uno::Any SwXBookmarks::getByIndex(sal_Int32 nIndex)
uno::Any SwXBookmarks::getByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- IDocumentMarkAccess* const pMarkAccess = GetDoc()->getIDocumentMarkAccess();
+ auto& rDoc = GetDoc();
+ IDocumentMarkAccess* const pMarkAccess = rDoc.getIDocumentMarkAccess();
IDocumentMarkAccess::const_iterator_t ppBkmk = pMarkAccess->findBookmark(rName);
if(ppBkmk == pMarkAccess->getBookmarksEnd())
throw NoSuchElementException();
uno::Any aRet;
const uno::Reference< text::XTextContent > xRef =
- SwXBookmark::CreateXBookmark(*GetDoc(), *ppBkmk);
+ SwXBookmark::CreateXBookmark(rDoc, *ppBkmk);
aRet <<= xRef;
return aRet;
}
@@ -1617,11 +1571,9 @@ uno::Any SwXBookmarks::getByName(const OUString& rName)
uno::Sequence< OUString > SwXBookmarks::getElementNames()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
std::vector< OUString > ret;
- IDocumentMarkAccess* const pMarkAccess = GetDoc()->getIDocumentMarkAccess();
+ IDocumentMarkAccess* const pMarkAccess = GetDoc().getIDocumentMarkAccess();
for (IDocumentMarkAccess::const_iterator_t ppMark =
pMarkAccess->getBookmarksBegin();
ppMark != pMarkAccess->getBookmarksEnd(); ++ppMark)
@@ -1638,10 +1590,8 @@ uno::Sequence< OUString > SwXBookmarks::getElementNames()
sal_Bool SwXBookmarks::hasByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- IDocumentMarkAccess* const pMarkAccess = GetDoc()->getIDocumentMarkAccess();
+ IDocumentMarkAccess* const pMarkAccess = GetDoc().getIDocumentMarkAccess();
return pMarkAccess->findBookmark(rName) != pMarkAccess->getBookmarksEnd();
}
@@ -1653,10 +1603,8 @@ uno::Type SAL_CALL SwXBookmarks::getElementType()
sal_Bool SwXBookmarks::hasElements()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- IDocumentMarkAccess* const pMarkAccess = GetDoc()->getIDocumentMarkAccess();
+ IDocumentMarkAccess* const pMarkAccess = GetDoc().getIDocumentMarkAccess();
for (IDocumentMarkAccess::const_iterator_t ppMark =
pMarkAccess->getBookmarksBegin();
ppMark != pMarkAccess->getBookmarksEnd(); ++ppMark)
@@ -1682,29 +1630,24 @@ SwXNumberingRulesCollection::~SwXNumberingRulesCollection()
sal_Int32 SwXNumberingRulesCollection::getCount()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- return GetDoc()->GetNumRuleTable().size();
+ return GetDoc().GetNumRuleTable().size();
}
uno::Any SwXNumberingRulesCollection::getByIndex(sal_Int32 nIndex)
{
+ if (nIndex < 0)
+ throw IndexOutOfBoundsException();
+
SolarMutexGuard aGuard;
- uno::Any aRet;
- if(!IsValid())
- throw uno::RuntimeException();
- uno::Reference< XIndexReplace > xRef;
- if ( o3tl::make_unsigned(nIndex) < GetDoc()->GetNumRuleTable().size() )
+ if (SwDoc& rDoc = GetDoc(); o3tl::make_unsigned(nIndex) < rDoc.GetNumRuleTable().size())
{
- xRef = new SwXNumberingRules( *GetDoc()->GetNumRuleTable()[ nIndex ], GetDoc());
- aRet <<= xRef;
+ uno::Reference<XIndexReplace> xRef(
+ new SwXNumberingRules(*rDoc.GetNumRuleTable()[nIndex], &rDoc));
+ return uno::Any(xRef);
}
- if(!xRef.is())
- throw IndexOutOfBoundsException();
-
- return aRet;
+ throw IndexOutOfBoundsException();
}
uno::Type SAL_CALL SwXNumberingRulesCollection::getElementType()
@@ -1715,9 +1658,7 @@ uno::Type SAL_CALL SwXNumberingRulesCollection::getElementType()
sal_Bool SwXNumberingRulesCollection::hasElements()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- return !GetDoc()->GetNumRuleTable().empty();
+ return !GetDoc().GetNumRuleTable().empty();
}
OUString SwXFootnotes::getImplementationName()
@@ -1748,14 +1689,13 @@ SwXFootnotes::~SwXFootnotes()
sal_Int32 SwXFootnotes::getCount()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
sal_Int32 nCount = 0;
- const size_t nFootnoteCnt = GetDoc()->GetFootnoteIdxs().size();
+ auto& rIdxs = GetDoc().GetFootnoteIdxs();
+ const size_t nFootnoteCnt = rIdxs.size();
SwTextFootnote* pTextFootnote;
for( size_t n = 0; n < nFootnoteCnt; ++n )
{
- pTextFootnote = GetDoc()->GetFootnoteIdxs()[ n ];
+ pTextFootnote = rIdxs[n];
const SwFormatFootnote& rFootnote = pTextFootnote->GetFootnote();
if ( rFootnote.IsEndNote() != m_bEndnote )
continue;
@@ -1769,22 +1709,22 @@ uno::Any SwXFootnotes::getByIndex(sal_Int32 nIndex)
SolarMutexGuard aGuard;
uno::Any aRet;
sal_Int32 nCount = 0;
- if(!IsValid())
- throw uno::RuntimeException();
- const size_t nFootnoteCnt = GetDoc()->GetFootnoteIdxs().size();
+ auto& rDoc = GetDoc();
+ auto& rIdxs = rDoc.GetFootnoteIdxs();
+ const size_t nFootnoteCnt = rIdxs.size();
SwTextFootnote* pTextFootnote;
uno::Reference< XFootnote > xRef;
for( size_t n = 0; n < nFootnoteCnt; ++n )
{
- pTextFootnote = GetDoc()->GetFootnoteIdxs()[ n ];
+ pTextFootnote = rIdxs[n];
const SwFormatFootnote& rFootnote = pTextFootnote->GetFootnote();
if ( rFootnote.IsEndNote() != m_bEndnote )
continue;
if(nCount == nIndex)
{
- xRef = SwXFootnote::CreateXFootnote(*GetDoc(),
+ xRef = SwXFootnote::CreateXFootnote(rDoc,
&const_cast<SwFormatFootnote&>(rFootnote));
aRet <<= xRef;
break;
@@ -1805,9 +1745,7 @@ uno::Type SAL_CALL SwXFootnotes::getElementType()
sal_Bool SwXFootnotes::hasElements()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- return !GetDoc()->GetFootnoteIdxs().empty();
+ return !GetDoc().GetFootnoteIdxs().empty();
}
Reference<XFootnote> SwXFootnotes::GetObject( SwDoc& rDoc, const SwFormatFootnote& rFormat )
@@ -1842,25 +1780,22 @@ SwXReferenceMarks::~SwXReferenceMarks()
sal_Int32 SwXReferenceMarks::getCount()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- return GetDoc()->GetRefMarks();
+ return GetDoc().GetRefMarks();
}
uno::Any SwXReferenceMarks::getByIndex(sal_Int32 nIndex)
{
SolarMutexGuard aGuard;
uno::Any aRet;
- if(!IsValid())
- throw uno::RuntimeException();
uno::Reference< XTextContent > xRef;
if(0 <= nIndex && nIndex < SAL_MAX_UINT16)
{
+ auto& rDoc = GetDoc();
SwFormatRefMark *const pMark = const_cast<SwFormatRefMark*>(
- GetDoc()->GetRefMark(o3tl::narrowing<sal_uInt16>(nIndex)));
+ rDoc.GetRefMark(o3tl::narrowing<sal_uInt16>(nIndex)));
if(pMark)
{
- xRef = SwXReferenceMark::CreateXReferenceMark(*GetDoc(), pMark);
+ xRef = SwXReferenceMark::CreateXReferenceMark(rDoc, pMark);
aRet <<= xRef;
}
}
@@ -1873,16 +1808,15 @@ uno::Any SwXReferenceMarks::getByName(const OUString& rName)
{
SolarMutexGuard aGuard;
uno::Any aRet;
- if(!IsValid())
- throw uno::RuntimeException();
+ auto& rDoc = GetDoc();
SwFormatRefMark *const pMark =
- const_cast<SwFormatRefMark*>(GetDoc()->GetRefMark(rName));
+ const_cast<SwFormatRefMark*>(rDoc.GetRefMark(rName));
if(!pMark)
throw NoSuchElementException();
uno::Reference<XTextContent> const xRef =
- SwXReferenceMark::CreateXReferenceMark(*GetDoc(), pMark);
+ SwXReferenceMark::CreateXReferenceMark(rDoc, pMark);
aRet <<= xRef;
return aRet;
@@ -1892,11 +1826,9 @@ uno::Sequence< OUString > SwXReferenceMarks::getElementNames()
{
SolarMutexGuard aGuard;
uno::Sequence<OUString> aRet;
- if(!IsValid())
- throw uno::RuntimeException();
std::vector<OUString> aStrings;
- const sal_uInt16 nCount = GetDoc()->GetRefMarks( &aStrings );
+ const sal_uInt16 nCount = GetDoc().GetRefMarks(&aStrings);
aRet.realloc(nCount);
OUString* pNames = aRet.getArray();
for(sal_uInt16 i = 0; i < nCount; i++)
@@ -1908,9 +1840,7 @@ uno::Sequence< OUString > SwXReferenceMarks::getElementNames()
sal_Bool SwXReferenceMarks::hasByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- return nullptr != GetDoc()->GetRefMark( rName);
+ return nullptr != GetDoc().GetRefMark( rName);
}
uno::Type SAL_CALL SwXReferenceMarks::getElementType()
@@ -1921,14 +1851,20 @@ uno::Type SAL_CALL SwXReferenceMarks::getElementType()
sal_Bool SwXReferenceMarks::hasElements()
{
SolarMutexGuard aGuard;
- if(!IsValid())
+ return 0 != GetDoc().GetRefMarks();
+}
+
+SwDoc& SwUnoCollection::GetDoc() const
+{
+ DBG_TESTSOLARMUTEX();
+ if (!m_pDoc)
throw uno::RuntimeException();
- return 0 != GetDoc()->GetRefMarks();
+ return *m_pDoc;
}
void SwUnoCollection::Invalidate()
{
- m_bObjectValid = false;
+ SolarMutexGuard aGuard;
m_pDoc = nullptr;
}
diff --git a/sw/source/core/unocore/unocontentcontrol.cxx b/sw/source/core/unocore/unocontentcontrol.cxx
index fd77b4a77f9e..5d54d60e9b5d 100644
--- a/sw/source/core/unocore/unocontentcontrol.cxx
+++ b/sw/source/core/unocore/unocontentcontrol.cxx
@@ -1424,24 +1424,14 @@ sal_Int32 SwXContentControls::getCount()
{
SolarMutexGuard aGuard;
- if (!IsValid())
- {
- throw uno::RuntimeException();
- }
-
- return GetDoc()->GetContentControlManager().GetCount();
+ return GetDoc().GetContentControlManager().GetCount();
}
uno::Any SwXContentControls::getByIndex(sal_Int32 nIndex)
{
SolarMutexGuard aGuard;
- if (!IsValid())
- {
- throw uno::RuntimeException();
- }
-
- SwContentControlManager& rManager = GetDoc()->GetContentControlManager();
+ SwContentControlManager& rManager = GetDoc().GetContentControlManager();
if (nIndex < 0 || o3tl::make_unsigned(nIndex) >= rManager.GetCount())
{
throw lang::IndexOutOfBoundsException();
@@ -1462,12 +1452,7 @@ sal_Bool SwXContentControls::hasElements()
{
SolarMutexGuard aGuard;
- if (!IsValid())
- {
- throw uno::RuntimeException();
- }
-
- return !GetDoc()->GetContentControlManager().IsEmpty();
+ return !GetDoc().GetContentControlManager().IsEmpty();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx
index 74b530ed5a28..d73c0b59b34e 100644
--- a/sw/source/core/unocore/unofield.cxx
+++ b/sw/source/core/unocore/unofield.cxx
@@ -2727,8 +2727,6 @@ static SwFieldIds lcl_GetIdByName( OUString& rName, OUString& rTypeName )
uno::Any SwXTextFieldMasters::getByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- if(!GetDoc())
- throw uno::RuntimeException();
OUString sName(rName), sTypeName;
const SwFieldIds nResId = lcl_GetIdByName( sName, sTypeName );
@@ -2738,14 +2736,15 @@ uno::Any SwXTextFieldMasters::getByName(const OUString& rName)
css::uno::Reference<css::uno::XInterface>());
sName = sName.copy(std::min(sTypeName.getLength()+1, sName.getLength()));
- SwFieldType* pType = GetDoc()->getIDocumentFieldsAccess().GetFieldType(nResId, sName, true);
+ auto& rDoc = GetDoc();
+ SwFieldType* pType = rDoc.getIDocumentFieldsAccess().GetFieldType(nResId, sName, true);
if(!pType)
throw container::NoSuchElementException(
"SwXTextFieldMasters::getByName(" + rName + ")",
css::uno::Reference<css::uno::XInterface>());
uno::Reference<beans::XPropertySet> const xRet(
- SwXFieldMaster::CreateXFieldMaster(GetDoc(), pType));
+ SwXFieldMaster::CreateXFieldMaster(&rDoc, pType));
return uno::Any(xRet);
}
@@ -2786,10 +2785,8 @@ bool SwXTextFieldMasters::getInstanceName(
uno::Sequence< OUString > SwXTextFieldMasters::getElementNames()
{
SolarMutexGuard aGuard;
- if(!GetDoc())
- throw uno::RuntimeException();
- const SwFieldTypes* pFieldTypes = GetDoc()->getIDocumentFieldsAccess().GetFieldTypes();
+ const SwFieldTypes* pFieldTypes = GetDoc().getIDocumentFieldsAccess().GetFieldTypes();
const size_t nCount = pFieldTypes->size();
std::vector<OUString> aFieldNames;
@@ -2810,8 +2807,6 @@ uno::Sequence< OUString > SwXTextFieldMasters::getElementNames()
sal_Bool SwXTextFieldMasters::hasByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- if(!GetDoc())
- throw uno::RuntimeException();
OUString sName(rName), sTypeName;
const SwFieldIds nResId = lcl_GetIdByName( sName, sTypeName );
@@ -2819,7 +2814,7 @@ sal_Bool SwXTextFieldMasters::hasByName(const OUString& rName)
if( SwFieldIds::Unknown != nResId )
{
sName = sName.copy(std::min(sTypeName.getLength()+1, sName.getLength()));
- bRet = nullptr != GetDoc()->getIDocumentFieldsAccess().GetFieldType(nResId, sName, true);
+ bRet = nullptr != GetDoc().getIDocumentFieldsAccess().GetFieldType(nResId, sName, true);
}
return bRet;
}
@@ -2882,9 +2877,7 @@ void SwXTextFieldTypes::Invalidate()
uno::Reference< container::XEnumeration > SwXTextFieldTypes::createEnumeration()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- return new SwXFieldEnumeration(*GetDoc());
+ return new SwXFieldEnumeration(GetDoc());
}
uno::Type SwXTextFieldTypes::getElementType()
@@ -2904,11 +2897,10 @@ void SAL_CALL SwXTextFieldTypes::refresh()
{
{
SolarMutexGuard aGuard;
- if (!IsValid())
- throw uno::RuntimeException();
- UnoActionContext aContext(GetDoc());
- GetDoc()->getIDocumentStatistics().UpdateDocStat( false, true );
- GetDoc()->getIDocumentFieldsAccess().UpdateFields(false);
+ auto& rDoc = GetDoc();
+ UnoActionContext aContext(&rDoc);
+ rDoc.getIDocumentStatistics().UpdateDocStat(false, true);
+ rDoc.getIDocumentFieldsAccess().UpdateFields(false);
}
// call refresh listeners (without SolarMutex locked)
lang::EventObject const event(getXWeak());
diff --git a/sw/source/core/unocore/unoidx.cxx b/sw/source/core/unocore/unoidx.cxx
index 2505050d8cae..3617c22b8da3 100644
--- a/sw/source/core/unocore/unoidx.cxx
+++ b/sw/source/core/unocore/unoidx.cxx
@@ -2337,11 +2337,8 @@ SwXDocumentIndexes::getCount()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
-
sal_uInt32 nRet = 0;
- const SwSectionFormats& rFormats = GetDoc()->GetSections();
+ const SwSectionFormats& rFormats = GetDoc().GetSections();
for( size_t n = 0; n < rFormats.size(); ++n )
{
const SwSection* pSect = rFormats[ n ]->GetSection();
@@ -2359,12 +2356,10 @@ SwXDocumentIndexes::getByIndex(sal_Int32 nIndex)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
-
sal_Int32 nIdx = 0;
- const SwSectionFormats& rFormats = GetDoc()->GetSections();
+ auto& rDoc = GetDoc();
+ const SwSectionFormats& rFormats = rDoc.GetSections();
for( size_t n = 0; n < rFormats.size(); ++n )
{
SwSection* pSect = rFormats[ n ]->GetSection();
@@ -2374,7 +2369,7 @@ SwXDocumentIndexes::getByIndex(sal_Int32 nIndex)
{
const uno::Reference< text::XDocumentIndex > xTmp =
SwXDocumentIndex::CreateXDocumentIndex(
- *GetDoc(), static_cast<SwTOXBaseSection *>(pSect));
+ rDoc, static_cast<SwTOXBaseSection *>(pSect));
uno::Any aRet;
aRet <<= xTmp;
return aRet;
@@ -2389,10 +2384,8 @@ SwXDocumentIndexes::getByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
-
- const SwSectionFormats& rFormats = GetDoc()->GetSections();
+ auto& rDoc = GetDoc();
+ const SwSectionFormats& rFormats = rDoc.GetSections();
for( size_t n = 0; n < rFormats.size(); ++n )
{
SwSection* pSect = rFormats[ n ]->GetSection();
@@ -2403,7 +2396,7 @@ SwXDocumentIndexes::getByName(const OUString& rName)
{
const uno::Reference< text::XDocumentIndex > xTmp =
SwXDocumentIndex::CreateXDocumentIndex(
- *GetDoc(), static_cast<SwTOXBaseSection *>(pSect));
+ rDoc, static_cast<SwTOXBaseSection *>(pSect));
uno::Any aRet;
aRet <<= xTmp;
return aRet;
@@ -2417,10 +2410,7 @@ SwXDocumentIndexes::getElementNames()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
-
- const SwSectionFormats& rFormats = GetDoc()->GetSections();
+ const SwSectionFormats& rFormats = GetDoc().GetSections();
sal_Int32 nCount = 0;
for( size_t n = 0; n < rFormats.size(); ++n )
{
@@ -2452,10 +2442,7 @@ SwXDocumentIndexes::hasByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
-
- const SwSectionFormats& rFormats = GetDoc()->GetSections();
+ const SwSectionFormats& rFormats = GetDoc().GetSections();
for( size_t n = 0; n < rFormats.size(); ++n )
{
SwSection const*const pSect = rFormats[ n ]->GetSection();
diff --git a/sw/source/core/unocore/unoredlines.cxx b/sw/source/core/unocore/unoredlines.cxx
index 572bb7756647..315513632d68 100644
--- a/sw/source/core/unocore/unoredlines.cxx
+++ b/sw/source/core/unocore/unoredlines.cxx
@@ -49,31 +49,26 @@ SwXRedlines::~SwXRedlines()
sal_Int32 SwXRedlines::getCount( )
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- const SwRedlineTable& rRedTable = GetDoc()->getIDocumentRedlineAccess().GetRedlineTable();
+ const SwRedlineTable& rRedTable = GetDoc().getIDocumentRedlineAccess().GetRedlineTable();
return rRedTable.size();
}
uno::Any SwXRedlines::getByIndex(sal_Int32 nIndex)
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- const SwRedlineTable& rRedTable = GetDoc()->getIDocumentRedlineAccess().GetRedlineTable();
+ auto& rDoc = GetDoc();
+ const SwRedlineTable& rRedTable = rDoc.getIDocumentRedlineAccess().GetRedlineTable();
if ((nIndex < 0) || (rRedTable.size() <= o3tl::make_unsigned(nIndex)))
throw lang::IndexOutOfBoundsException();
- uno::Reference <beans::XPropertySet> xRet = SwXRedlines::GetObject( *rRedTable[nIndex], *GetDoc() );
+ uno::Reference<beans::XPropertySet> xRet = SwXRedlines::GetObject(*rRedTable[nIndex], rDoc);
return uno::Any(xRet);
}
uno::Reference< container::XEnumeration > SwXRedlines::createEnumeration()
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- return uno::Reference< container::XEnumeration >(new SwXRedlineEnumeration(*GetDoc()));
+ return uno::Reference< container::XEnumeration >(new SwXRedlineEnumeration(GetDoc()));
}
uno::Type SwXRedlines::getElementType( )
@@ -84,9 +79,7 @@ uno::Type SwXRedlines::getElementType( )
sal_Bool SwXRedlines::hasElements( )
{
SolarMutexGuard aGuard;
- if(!IsValid())
- throw uno::RuntimeException();
- const SwRedlineTable& rRedTable = GetDoc()->getIDocumentRedlineAccess().GetRedlineTable();
+ const SwRedlineTable& rRedTable = GetDoc().getIDocumentRedlineAccess().GetRedlineTable();
return !rRedTable.empty();
}
diff --git a/sw/source/core/unocore/unosett.cxx b/sw/source/core/unocore/unosett.cxx
index 947f4eba39e0..c57c6ffe9d18 100644
--- a/sw/source/core/unocore/unosett.cxx
+++ b/sw/source/core/unocore/unosett.cxx
@@ -1049,6 +1049,8 @@ SwXNumberingRules::SwXNumberingRules(SwDocShell& rDocSh) :
m_pPropertySet(GetNumberingRulesSet()),
m_bOwnNumRuleCreated(false)
{
+ if (!m_pDocShell->GetDoc())
+ throw uno::RuntimeException("Unitialized shell passed to SwXNumberingRules constructor");
m_pImpl->StartListening(GetPageDescNotifier(m_pDocShell->GetDoc()));
}
diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index 4da5bc3adbb1..a896751f1f90 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -84,6 +84,7 @@
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
#include <com/sun/star/lang/NoSupportException.hpp>
+#include <com/sun/star/lang/NotInitializedException.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/beans/XFastPropertySet.hpp>
#include <com/sun/star/beans/XPropertyAccess.hpp>
@@ -380,10 +381,19 @@ SwXTextDocument::SwXTextDocument(SwDocShell* pShell)
{
}
+SwDoc& SwXTextDocument::GetDocOrThrow() const
+{
+ if (SwDoc* pDoc = m_pDocShell->GetDoc())
+ return *pDoc;
+ throw css::lang::NotInitializedException(
+ u"Document not initialized by a call to attachResource() or load()"_ustr,
+ const_cast<SwXTextDocument*>(this)->getXWeak());
+}
+
SdrModel& SwXTextDocument::getSdrModelFromUnoModel() const
{
- OSL_ENSURE(m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetOrCreateDrawModel(), "No SdrModel in SwDoc, should not happen");
- return *m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetDrawModel();
+ assert(GetDocOrThrow().getIDocumentDrawModelAccess().GetOrCreateDrawModel());
+ return *GetDocOrThrow().getIDocumentDrawModelAccess().GetDrawModel();
}
SwXTextDocument::~SwXTextDocument()
@@ -410,7 +420,7 @@ SwXDocumentPropertyHelper * SwXTextDocument::GetPropertyHelper ()
{
if(!mxPropertyHelper.is())
{
- mxPropertyHelper = new SwXDocumentPropertyHelper(*m_pDocShell->GetDoc());
+ mxPropertyHelper = new SwXDocumentPropertyHelper(GetDocOrThrow());
}
return mxPropertyHelper.get();
}
@@ -441,7 +451,7 @@ void SwXTextDocument::GetNumberFormatter()
= comphelper::getFromUnoTunnel<SvNumberFormatsSupplierObj>(xNumTunnel);
OSL_ENSURE(pNumFormat, "No number formatter available");
if (pNumFormat && !pNumFormat->GetNumberFormatter())
- pNumFormat->SetNumberFormatter(m_pDocShell->GetDoc()->GetNumberFormatter());
+ pNumFormat->SetNumberFormatter(GetDocOrThrow().GetNumberFormatter());
}
}
@@ -720,12 +730,13 @@ sal_Int32 SwXTextDocument::replaceAll(const Reference< util::XSearchDescriptor >
//try attribute search first
if(pSearch->HasSearchAttributes()||pSearch->HasReplaceAttributes())
{
+ auto& pool = GetDocOrThrow().GetAttrPool();
SfxItemSetFixed<RES_CHRATR_BEGIN, RES_CHRATR_END-1,
RES_PARATR_BEGIN, RES_PARATR_END-1,
- RES_FRMATR_BEGIN, RES_FRMATR_END-1> aSearch(m_pDocShell->GetDoc()->GetAttrPool());
+ RES_FRMATR_BEGIN, RES_FRMATR_END-1> aSearch(pool);
SfxItemSetFixed<RES_CHRATR_BEGIN, RES_CHRATR_END-1,
RES_PARATR_BEGIN, RES_PARATR_END-1,
- RES_FRMATR_BEGIN, RES_FRMATR_END-1> aReplace(m_pDocShell->GetDoc()->GetAttrPool());
+ RES_FRMATR_BEGIN, RES_FRMATR_END-1> aReplace(pool);
pSearch->FillSearchItemSet(aSearch);
pSearch->FillReplaceItemSet(aReplace);
bool bCancel;
@@ -838,7 +849,7 @@ SwUnoCursor* SwXTextDocument::FindAny(const Reference< util::XSearchDescriptor >
RES_TXTATR_INETFMT, RES_TXTATR_CHARFMT,
RES_PARATR_BEGIN, RES_PARATR_END - 1,
RES_FRMATR_BEGIN, RES_FRMATR_END - 1>
- aSearch( m_pDocShell->GetDoc()->GetAttrPool() );
+ aSearch( GetDocOrThrow().GetAttrPool() );
pSearch->FillSearchItemSet(aSearch);
bool bCancel;
nResult = pUnoCursor->FindAttrs(aSearch, !pSearch->m_bStyles,
@@ -899,7 +910,7 @@ Reference< XInterface > SwXTextDocument::findFirst(const Reference< util::XSear
if(nResult)
{
const uno::Reference< text::XText > xParent =
- ::sw::CreateParentXText(*m_pDocShell->GetDoc(),
+ ::sw::CreateParentXText(GetDocOrThrow(),
*pResultCursor->GetPoint());
xRet = *new SwXTextCursor(xParent, *pResultCursor);
}
@@ -921,7 +932,7 @@ Reference< XInterface > SwXTextDocument::findNext(const Reference< XInterface >
if(nResult)
{
const uno::Reference< text::XText > xParent =
- ::sw::CreateParentXText(*m_pDocShell->GetDoc(),
+ ::sw::CreateParentXText(GetDocOrThrow(),
*pResultCursor->GetPoint());
xRet = *new SwXTextCursor(xParent, *pResultCursor);
@@ -938,7 +949,7 @@ Sequence< beans::PropertyValue > SwXTextDocument::getPagePrintSettings()
beans::PropertyValue* pArray = aSeq.getArray();
SwPagePreviewPrtData aData;
- const SwPagePreviewPrtData* pData = m_pDocShell->GetDoc()->GetPreviewPrtData();
+ const SwPagePreviewPrtData* pData = GetDocOrThrow().GetPreviewPrtData();
if(pData)
aData = *pData;
Any aVal;
@@ -1013,8 +1024,9 @@ void SwXTextDocument::setPagePrintSettings(const Sequence< beans::PropertyValue
throw DisposedException("", static_cast< XTextDocument* >(this));
SwPagePreviewPrtData aData;
+ SwDoc& rDoc = GetDocOrThrow();
//if only a few properties are coming, then use the current settings
- const SwPagePreviewPrtData* pData = m_pDocShell->GetDoc()->GetPreviewPrtData();
+ const SwPagePreviewPrtData* pData = rDoc.GetPreviewPrtData();
if(pData)
aData = *pData;
for(const beans::PropertyValue& rProperty : aSettings)
@@ -1073,7 +1085,7 @@ void SwXTextDocument::setPagePrintSettings(const Sequence< beans::PropertyValue
if(bException)
throw RuntimeException();
}
- m_pDocShell->GetDoc()->SetPreviewPrtData(&aData);
+ rDoc.SetPreviewPrtData(&aData);
}
@@ -1085,7 +1097,7 @@ void SwXTextDocument::printPages(const Sequence< beans::PropertyValue >& xOption
SfxViewFrame* pFrame = SfxViewFrame::LoadHiddenDocument( *m_pDocShell, SfxInterfaceId(7) );
SfxRequest aReq(FN_PRINT_PAGEPREVIEW, SfxCallMode::SYNCHRON,
- m_pDocShell->GetDoc()->GetAttrPool());
+ GetDocOrThrow().GetAttrPool());
aReq.AppendItem(SfxBoolItem(FN_PRINT_PAGEPREVIEW, true));
for ( const beans::PropertyValue &rProp : xOptions )
@@ -1296,11 +1308,11 @@ Reference< drawing::XDrawPage > SwXTextDocument::getDrawPage()
throw DisposedException("", static_cast< XTextDocument* >(this));
if(!m_xDrawPage.is())
{
- SwDoc* pDoc = m_pDocShell->GetDoc();
+ SwDoc& rDoc = GetDocOrThrow();
// #i52858#
- SwDrawModel* pModel = pDoc->getIDocumentDrawModelAccess().GetOrCreateDrawModel();
+ SwDrawModel* pModel = rDoc.getIDocumentDrawModelAccess().GetOrCreateDrawModel();
SdrPage* pPage = pModel->GetPage( 0 );
- m_xDrawPage = new SwFmDrawPage(pDoc, pPage);
+ m_xDrawPage = new SwFmDrawPage(&rDoc, pPage);
}
return m_xDrawPage;
}
@@ -1595,7 +1607,7 @@ css::uno::Reference<css::uno::XInterface> SwXTextDocument::create(
const SwServiceType nType = SwXServiceProvider::GetProviderType(rServiceName);
if (nType != SwServiceType::Invalid)
{
- return SwXServiceProvider::MakeInstance(nType, *m_pDocShell->GetDoc());
+ return SwXServiceProvider::MakeInstance(nType, GetDocOrThrow());
}
if (rServiceName == "com.sun.star.drawing.DashTable")
{
@@ -1801,19 +1813,21 @@ void SwXTextDocument::setPropertyValue(const OUString& rPropertyName, const Any&
case WID_DOC_CHANGES_RECORD:
case WID_DOC_CHANGES_SHOW:
{
+ SwDoc& rDoc = GetDocOrThrow();
+ sw::DocumentRedlineManager& rRedlineManager = rDoc.GetDocumentRedlineManager();
bool bSet = *o3tl::doAccess<bool>(aValue);
- RedlineFlags eMode = m_pDocShell->GetDoc()->getIDocumentRedlineAccess().GetRedlineFlags();
+ RedlineFlags eMode = rRedlineManager.GetRedlineFlags();
if(WID_DOC_CHANGES_SHOW == pEntry->nWID)
{
eMode |= RedlineFlags(RedlineFlags::ShowInsert | RedlineFlags::ShowDelete);
if( !bSet )
- m_pDocShell->GetDoc()->GetDocumentRedlineManager().SetHideRedlines(true);
+ rRedlineManager.SetHideRedlines(true);
}
else if(WID_DOC_CHANGES_RECORD == pEntry->nWID)
{
eMode = bSet ? eMode|RedlineFlags::On : eMode&~RedlineFlags::On;
}
- m_pDocShell->GetDoc()->getIDocumentRedlineAccess().SetRedlineFlags( eMode );
+ rRedlineManager.SetRedlineFlags(eMode);
}
break;
case WID_DOC_CHANGES_PASSWORD:
@@ -1821,13 +1835,13 @@ void SwXTextDocument::setPropertyValue(const OUString& rPropertyName, const Any&
Sequence <sal_Int8> aNew;
if(aValue >>= aNew)
{
- SwDoc* pDoc = m_pDocShell->GetDoc();
- pDoc->getIDocumentRedlineAccess().SetRedlinePassword(aNew);
+ auto& rRedlineAccess = GetDocOrThrow().getIDocumentRedlineAccess();
+ rRedlineAccess.SetRedlinePassword(aNew);
if(aNew.hasElements())
{
- RedlineFlags eMode = pDoc->getIDocumentRedlineAccess().GetRedlineFlags();
+ RedlineFlags eMode = rRedlineAccess.GetRedlineFlags();
eMode |= RedlineFlags::On;
- pDoc->getIDocumentRedlineAccess().SetRedlineFlags( eMode );
+ rRedlineAccess.SetRedlineFlags(eMode);
}
}
}
@@ -1836,7 +1850,7 @@ void SwXTextDocument::setPropertyValue(const OUString& rPropertyName, const Any&
{
OUString sURL;
aValue >>= sURL;
- m_pDocShell->GetDoc()->SetTOIAutoMarkURL(sURL);
+ GetDocOrThrow().SetTOIAutoMarkURL(sURL);
}
break;
case WID_DOC_HIDE_TIPS :
@@ -1844,7 +1858,8 @@ void SwXTextDocument::setPropertyValue(const OUString& rPropertyName, const Any&
break;
case WID_DOC_REDLINE_DISPLAY:
{
- RedlineFlags eRedMode = m_pDocShell->GetDoc()->getIDocumentRedlineAccess().GetRedlineFlags();
+ auto& rRedlineAccess = GetDocOrThrow().getIDocumentRedlineAccess();
+ RedlineFlags eRedMode = rRedlineAccess.GetRedlineFlags();
eRedMode = eRedMode & (~RedlineFlags::ShowMask);
sal_Int16 nSet = 0;
aValue >>= nSet;
@@ -1858,82 +1873,75 @@ void SwXTextDocument::setPropertyValue(const OUString& rPropertyName, const Any&
break;
default: throw IllegalArgumentException();
}
- m_pDocShell->GetDoc()->getIDocumentRedlineAccess().SetRedlineFlags(eRedMode);
+ rRedlineAccess.SetRedlineFlags(eRedMode);
}
break;
case WID_DOC_TWO_DIGIT_YEAR:
{
sal_Int16 nYear = 0;
aValue >>= nYear;
- SfxRequest aRequest ( SID_ATTR_YEAR2000, SfxCallMode::SLOT, m_pDocShell->GetDoc()->GetAttrPool());
+ SfxRequest aRequest ( SID_ATTR_YEAR2000, SfxCallMode::SLOT, GetDocOrThrow().GetAttrPool());
aRequest.AppendItem(SfxUInt16Item( SID_ATTR_YEAR2000, static_cast < sal_uInt16 > ( nYear ) ) );
m_pDocShell->Execute ( aRequest );
}
break;
case WID_DOC_AUTOMATIC_CONTROL_FOCUS:
{
- SwDrawModel * pDrawDoc = m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetDrawModel();
+ auto& rDrawModelAccess = GetDocOrThrow().getIDocumentDrawModelAccess();
bool bAuto = *o3tl::doAccess<bool>(aValue);
+ // if setting to true, and we don't have an
+ // SdrModel, then we are changing the default and
+ // must thus create an SdrModel, if we don't have an
+ // SdrModel and we are leaving the default at false,
+ // we don't need to make an SdrModel and can do nothing
+ // #i52858# - method name changed
+ SwDrawModel* pDrawDoc
+ = bAuto ? rDrawModelAccess.GetOrCreateDrawModel() : rDrawModelAccess.GetDrawModel();
if ( nullptr != pDrawDoc )
pDrawDoc->SetAutoControlFocus( bAuto );
- else if (bAuto)
- {
- // if setting to true, and we don't have an
- // SdrModel, then we are changing the default and
- // must thus create an SdrModel, if we don't have an
- // SdrModel and we are leaving the default at false,
- // we don't need to make an SdrModel and can do nothing
- // #i52858# - method name changed
- pDrawDoc = m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetOrCreateDrawModel();
- pDrawDoc->SetAutoControlFocus ( bAuto );
- }
}
break;
case WID_DOC_APPLY_FORM_DESIGN_MODE:
{
- SwDrawModel * pDrawDoc = m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetDrawModel();
+ auto& rDrawModelAccess = GetDocOrThrow().getIDocumentDrawModelAccess();
bool bMode = *o3tl::doAccess<bool>(aValue);
+ // if setting to false, and we don't have an
+ // SdrModel, then we are changing the default and
+ // must thus create an SdrModel, if we don't have an
+ // SdrModel and we are leaving the default at true,
+ // we don't need to make an SdrModel and can do
+ // nothing
+ // #i52858# - method name changed
+ SwDrawModel* pDrawDoc
+ = bMode ? rDrawModelAccess.GetDrawModel() : rDrawModelAccess.GetOrCreateDrawModel();
if ( nullptr != pDrawDoc )
pDrawDoc->SetOpenInDesignMode( bMode );
- else if (!bMode)
- {
- // if setting to false, and we don't have an
- // SdrModel, then we are changing the default and
- // must thus create an SdrModel, if we don't have an
- // SdrModel and we are leaving the default at true,
- // we don't need to make an SdrModel and can do
- // nothing
- // #i52858# - method name changed
- pDrawDoc = m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetOrCreateDrawModel();
- pDrawDoc->SetOpenInDesignMode ( bMode );
- }
}
break;
// #i42634# New property to set the bInReading
// flag at the document, used during binary import
case WID_DOC_LOCK_UPDATES :
{
- SwDoc* pDoc = m_pDocShell->GetDoc();
bool bBool (false);
if( aValue >>= bBool )
{
- pDoc->SetInReading( bBool );
+ GetDocOrThrow().SetInReading( bBool );
}
}
break;
case WID_DOC_WRITERFILTER:
{
- SwDoc* pDoc = m_pDocShell->GetDoc();
+ SwDoc& rDoc = GetDocOrThrow();
bool bBool = {};
if (aValue >>= bBool)
{ // HACK: writerfilter has to use API to set this :(
- bool bOld = pDoc->IsInWriterfilterImport();
- pDoc->SetInWriterfilterImport(bBool);
+ bool bOld = rDoc.IsInWriterfilterImport();
+ rDoc.SetInWriterfilterImport(bBool);
if (bOld && !bBool)
{
- pDoc->getIDocumentFieldsAccess().SetFieldsDirty(false, nullptr, SwNodeOffset(0));
+ rDoc.getIDocumentFieldsAccess().SetFieldsDirty(false, nullptr, SwNodeOffset(0));
}
}
}
@@ -1946,7 +1954,7 @@ void SwXTextDocument::setPropertyValue(const OUString& rPropertyName, const Any&
{
bool bDefaultPageMode( false );
aValue >>= bDefaultPageMode;
- m_pDocShell->GetDoc()->SetDefaultPageMode( bDefaultPageMode );
+ GetDocOrThrow().SetDefaultPageMode( bDefaultPageMode );
}
break;
case WID_DOC_INTEROP_GRAB_BAG:
@@ -1955,10 +1963,11 @@ void SwXTextDocument::setPropertyValue(const OUString& rPropertyName, const Any&
default:
{
- const SfxPoolItem& rItem = m_pDocShell->GetDoc()->GetDefault(pEntry->nWID);
+ SwDoc& rDoc = GetDocOrThrow();
+ const SfxPoolItem& rItem = rDoc.GetDefault(pEntry->nWID);
std::unique_ptr<SfxPoolItem> pNewItem(rItem.Clone());
pNewItem->PutValue(aValue, pEntry->nMemberId);
- m_pDocShell->GetDoc()->SetDefault(*pNewItem);
+ rDoc.SetDefault(*pNewItem);
}
}
}
@@ -1978,7 +1987,7 @@ Any SwXTextDocument::getPropertyValue(const OUString& rPropertyName)
// [ index, styleIntPtr, list_id ]
std::vector<css::uno::Sequence<css::uno::Any>> nodes;
- const SwDoc& rDoc = *m_pDocShell->GetDoc();
+ const SwDoc& rDoc = GetDocOrThrow();
for (const SwNumRule* pNumRule : rDoc.GetNumRuleTable())
{
SwNumRule::tTextNodeList textNodes;
@@ -2010,7 +2019,7 @@ Any SwXTextDocument::getPropertyValue(const OUString& rPropertyName)
case WID_DOC_PARA_COUNT :
case WID_DOC_WORD_COUNT :
{
- const SwDocStat& rStat(m_pDocShell->GetDoc()->getIDocumentStatistics().GetUpdatedDocStat( false, true ));
+ const SwDocStat& rStat(GetDocOrThrow().getIDocumentStatistics().GetUpdatedDocStat( false, true ));
sal_Int32 nValue;
switch(pEntry->nWID)
{
@@ -2029,7 +2038,7 @@ Any SwXTextDocument::getPropertyValue(const OUString& rPropertyName)
case WID_DOC_CHANGES_RECORD:
case WID_DOC_CHANGES_SHOW:
{
- const RedlineFlags eMode = m_pDocShell->GetDoc()->getIDocumentRedlineAccess().GetRedlineFlags();
+ const RedlineFlags eMode = GetDocOrThrow().getIDocumentRedlineAccess().GetRedlineFlags();
bool bSet = false;
if(WID_DOC_CHANGES_SHOW == pEntry->nWID)
{
@@ -2043,20 +2052,17 @@ Any SwXTextDocument::getPropertyValue(const OUString& rPropertyName)
}
break;
case WID_DOC_CHANGES_PASSWORD:
- {
- SwDoc* pDoc = m_pDocShell->GetDoc();
- aAny <<= pDoc->getIDocumentRedlineAccess().GetRedlinePassword();
- }
+ aAny <<= GetDocOrThrow().getIDocumentRedlineAccess().GetRedlinePassword();
break;
case WID_DOC_AUTO_MARK_URL :
- aAny <<= m_pDocShell->GetDoc()->GetTOIAutoMarkURL();
+ aAny <<= GetDocOrThrow().GetTOIAutoMarkURL();
break;
case WID_DOC_HIDE_TIPS :
aAny <<= SW_MOD()->GetModuleConfig()->IsHideFieldTips();
break;
case WID_DOC_REDLINE_DISPLAY:
{
- RedlineFlags eRedMode = m_pDocShell->GetDoc()->getIDocumentRedlineAccess().GetRedlineFlags();
+ RedlineFlags eRedMode = GetDocOrThrow().getIDocumentRedlineAccess().GetRedlineFlags();
eRedMode = eRedMode & RedlineFlags::ShowMask;
sal_Int16 nRet = RedlineDisplayType::NONE;
if(RedlineFlags::ShowInsert == eRedMode)
@@ -2077,12 +2083,12 @@ Any SwXTextDocument::getPropertyValue(const OUString& rPropertyName)
break;
case WID_DOC_TWO_DIGIT_YEAR:
{
- aAny <<= static_cast < sal_Int16 > (m_pDocShell->GetDoc()->GetNumberFormatter ()->GetYear2000());
+ aAny <<= static_cast < sal_Int16 > (GetDocOrThrow().GetNumberFormatter ()->GetYear2000());
}
break;
case WID_DOC_AUTOMATIC_CONTROL_FOCUS:
{
- SwDrawModel * pDrawDoc = m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetDrawModel();
+ SwDrawModel * pDrawDoc = GetDocOrThrow().getIDocumentDrawModelAccess().GetDrawModel();
bool bAuto;
if ( nullptr != pDrawDoc )
bAuto = pDrawDoc->GetAutoControlFocus();
@@ -2093,7 +2099,7 @@ Any SwXTextDocument::getPropertyValue(const OUString& rPropertyName)
break;
case WID_DOC_APPLY_FORM_DESIGN_MODE:
{
- SwDrawModel * pDrawDoc = m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetDrawModel();
+ SwDrawModel * pDrawDoc = GetDocOrThrow().getIDocumentDrawModelAccess().GetDrawModel();
bool bMode;
if ( nullptr != pDrawDoc )
bMode = pDrawDoc->GetOpenInDesignMode();
@@ -2122,7 +2128,7 @@ Any SwXTextDocument::getPropertyValue(const OUString& rPropertyName)
aAny <<= getRuntimeUID();
break;
case WID_DOC_LOCK_UPDATES :
- aAny <<= m_pDocShell->GetDoc()->IsInReading();
+ aAny <<= GetDocOrThrow().IsInReading();
break;
case WID_DOC_BUILDID:
aAny <<= maBuildId;
@@ -2142,7 +2148,7 @@ Any SwXTextDocument::getPropertyValue(const OUString& rPropertyName)
default:
{
- const SfxPoolItem& rItem = m_pDocShell->GetDoc()->GetDefault(pEntry->nWID);
+ const SfxPoolItem& rItem = GetDocOrThrow().GetDefault(pEntry->nWID);
rItem.QueryValue(aAny, pEntry->nMemberId);
}
}
@@ -2239,11 +2245,11 @@ void SwXTextDocument::updateLinks( )
if(!IsValid())
throw DisposedException("", static_cast< XTextDocument* >(this));
- SwDoc* pDoc = m_pDocShell->GetDoc();
- sfx2::LinkManager& rLnkMan = pDoc->getIDocumentLinksAdministration().GetLinkManager();
+ SwDoc& rDoc = GetDocOrThrow();
+ sfx2::LinkManager& rLnkMan = rDoc.getIDocumentLinksAdministration().GetLinkManager();
if( !rLnkMan.GetLinks().empty() )
{
- UnoActionContext aAction(pDoc);
+ UnoActionContext aAction(&rDoc);
rLnkMan.UpdateAllLinks( false, true, nullptr );
}
}
@@ -2814,8 +2820,8 @@ uno::Sequence< beans::PropertyValue > SAL_CALL SwXTextDocument::getRenderer(
// #i117783#
if ( m_bApplyPagePrintSettingsFromXPagePrintable )
{
- const SwPagePreviewPrtData* pPagePrintSettings =
- m_pDocShell->GetDoc()->GetPreviewPrtData();
+ SwDoc& rDoc = GetDocOrThrow();
+ const SwPagePreviewPrtData* pPagePrintSettings = rDoc.GetPreviewPrtData();
if ( pPagePrintSettings &&
( pPagePrintSettings->GetRow() > 1 ||
pPagePrintSettings->GetCol() > 1 ) )
@@ -2845,23 +2851,20 @@ uno::Sequence< beans::PropertyValue > SAL_CALL SwXTextDocument::getRenderer(
pRenderer[ nRenderDataIdxStart + 6 ].Value <<= pPagePrintSettings->GetHorzSpace();
pRenderer[ nRenderDataIdxStart + 7 ].Name = "NUpVerticalSpacing";
pRenderer[ nRenderDataIdxStart + 7 ].Value <<= pPagePrintSettings->GetVertSpace();
+ if (Printer* pPrinter = rDoc.getIDocumentDeviceAccess().getPrinter(false))
{
- Printer* pPrinter = m_pDocShell->GetDoc()->getIDocumentDeviceAccess().getPrinter( false );
- if ( pPrinter )
+ awt::Size aNewPageSize;
+ const Size aPageSize = pPrinter->PixelToLogic( pPrinter->GetPaperSizePixel(), MapMode( MapUnit::Map100thMM ) );
+ aNewPageSize = awt::Size( aPageSize.Width(), aPageSize.Height() );
+ if ( ( pPagePrintSettings->GetLandscape() &&
+ aPageSize.Width() < aPageSize.Height() ) ||
+ ( !pPagePrintSettings->GetLandscape() &&
+ aPageSize.Width() > aPageSize.Height() ) )
{
- awt::Size aNewPageSize;
- const Size aPageSize = pPrinter->PixelToLogic( pPrinter->GetPaperSizePixel(), MapMode( MapUnit::Map100thMM ) );
- aNewPageSize = awt::Size( aPageSize.Width(), aPageSize.Height() );
- if ( ( pPagePrintSettings->GetLandscape() &&
- aPageSize.Width() < aPageSize.Height() ) ||
- ( !pPagePrintSettings->GetLandscape() &&
- aPageSize.Width() > aPageSize.Height() ) )
- {
- aNewPageSize = awt::Size( aPageSize.Height(), aPageSize.Width() );
- }
- pRenderer[ nRenderDataIdxStart + 8 ].Name = "NUpPaperSize";
- pRenderer[ nRenderDataIdxStart + 8 ].Value <<= aNewPageSize;
+ aNewPageSize = awt::Size( aPageSize.Height(), aPageSize.Width() );
}
+ pRenderer[ nRenderDataIdxStart + 8 ].Name = "NUpPaperSize";
+ pRenderer[ nRenderDataIdxStart + 8 ].Value <<= aNewPageSize;
}
}
@@ -3080,8 +3083,7 @@ Reference<XNameContainer> SAL_CALL SwXTextDocument::getXForms()
SolarMutexGuard aGuard;
if ( !m_pDocShell )
throw DisposedException( OUString(), static_cast< XTextDocument* >( this ) );
- SwDoc* pDoc = m_pDocShell->GetDoc();
- return pDoc->getXForms();
+ return GetDocOrThrow().getXForms();
}
uno::Reference< text::XFlatParagraphIterator > SAL_CALL SwXTextDocument::getFlatParagraphIterator(::sal_Int32 nTextMarkupType, sal_Bool bAutomatic)
@@ -3094,7 +3096,7 @@ uno::Reference< text::XFlatParagraphIterator > SAL_CALL SwXTextDocument::getFlat
}
return SwUnoCursorHelper::CreateFlatParagraphIterator(
- *m_pDocShell->GetDoc(), nTextMarkupType, bAutomatic);
+ GetDocOrThrow(), nTextMarkupType, bAutomatic);
}
uno::Reference< util::XCloneable > SwXTextDocument::createClone( )
@@ -3107,7 +3109,7 @@ uno::Reference< util::XCloneable > SwXTextDocument::createClone( )
// SfxObjectShellRef is used here, since the model should control object lifetime after creation
// and thus SfxObjectShellLock is not allowed here
// the model holds reference to the shell, so the shell will not destructed at the end of method
- SfxObjectShellRef pShell = m_pDocShell->GetDoc()->CreateCopy(false, false);
+ SfxObjectShellRef pShell = GetDocOrThrow().CreateCopy(false, false);
uno::Reference< frame::XModel > xNewModel = pShell->GetModel();
uno::Reference< embed::XStorage > xNewStorage = ::comphelper::OStorageHelper::GetTemporaryStorage( );
uno::Sequence< beans::PropertyValue > aTempMediaDescriptor;
@@ -3148,7 +3150,7 @@ void SwXTextDocument::paintTile( VirtualDevice &rDevice,
// Draw Form controls
comphelper::LibreOfficeKit::setTiledPainting(true);
- SwDrawModel* pDrawLayer = m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetDrawModel();
+ SwDrawModel* pDrawLayer = GetDocOrThrow().getIDocumentDrawModelAccess().GetDrawModel();
SdrPage* pPage = pDrawLayer->GetPage(sal_uInt16(0));
SdrView* pDrawView = pViewShell->GetDrawView();
SwEditWin& rEditWin = m_pDocShell->GetView()->GetEditWin();
@@ -3289,7 +3291,7 @@ void SwXTextDocument::getTrackedChanges(tools::JsonWriter& rJson)
return;
const SwRedlineTable& rRedlineTable
- = m_pDocShell->GetDoc()->getIDocumentRedlineAccess().GetRedlineTable();
+ = GetDocOrThrow().getIDocumentRedlineAccess().GetRedlineTable();
for (SwRedlineTable::size_type i = 0; i < rRedlineTable.size(); ++i)
{
auto redlineNode = rJson.startStruct();
@@ -3733,7 +3735,7 @@ void SwXTextDocument::postMouseEvent(int nType, int nX, int nY, int nCount, int
return;
// try to forward mouse event to controls
- SwDrawModel* pDrawLayer = m_pDocShell->GetDoc()->getIDocumentDrawModelAccess().GetDrawModel();
+ SwDrawModel* pDrawLayer = GetDocOrThrow().getIDocumentDrawModelAccess().GetDrawModel();
SdrPage* pPage = pDrawLayer->GetPage(sal_uInt16(0));
SdrView* pDrawView = pWrtViewShell->GetDrawView();
SwEditWin& rEditWin = m_pDocShell->GetView()->GetEditWin();
@@ -3890,14 +3892,14 @@ uno::Sequence< lang::Locale > SAL_CALL SwXTextDocument::getDocumentLanguages(
throw IllegalArgumentException("nScriptTypes ranges from 1 to 7!", Reference< XInterface >(), 1);
if (!m_pDocShell)
throw DisposedException();
- SwDoc* pDoc = m_pDocShell->GetDoc();
+ SwDoc& rDoc = GetDocOrThrow();
// avoid duplicate values
std::set< LanguageType > aAllLangs;
//USER STYLES
- const SwCharFormats *pFormats = pDoc->GetCharFormats();
+ const SwCharFormats *pFormats = rDoc.GetCharFormats();
for(size_t i = 0; i < pFormats->size(); ++i)
{
const SwAttrSet &rAttrSet = (*pFormats)[i]->GetAttrSet();
@@ -3922,7 +3924,7 @@ uno::Sequence< lang::Locale > SAL_CALL SwXTextDocument::getDocumentLanguages(
}
}
- const SwTextFormatColls *pColls = pDoc->GetTextFormatColls();
+ const SwTextFormatColls *pColls = rDoc.GetTextFormatColls();
for (size_t i = 0; i < pColls->size(); ++i)
{
const SwAttrSet &rAttrSet = (*pColls)[i]->GetAttrSet();
@@ -3956,7 +3958,7 @@ uno::Sequence< lang::Locale > SAL_CALL SwXTextDocument::getDocumentLanguages(
for (IStyleAccess::SwAutoStyleFamily i : aFam)
{
std::vector< std::shared_ptr<SfxItemSet> > rStyles;
- pDoc->GetIStyleAccess().getAllStyles(rStyles, i);
+ rDoc.GetIStyleAccess().getAllStyles(rStyles, i);
while (!rStyles.empty())
{
std::shared_ptr<SfxItemSet> pStyle = rStyles.back();