summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2022-12-22 15:40:46 +0000
committerCaolán McNamara <caolanm@redhat.com>2022-12-22 19:49:06 +0000
commit24889135773204c6e3002dcb417c75ff1a99ccd0 (patch)
tree018a0c9fb6ffcc20afa3058bac21fd75edb6c72a
parent2d0ff08f8724c6fd2b7801c7eb8fa0a41a90f883 (diff)
check GetEditShell()
Change-Id: I975c7dca9ea569e326fc5d8670a078959ab9f093 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144761 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sw/source/core/crsr/pam.cxx9
-rw-r--r--sw/source/core/crsr/swcrsr.cxx11
-rw-r--r--sw/source/core/doc/CntntIdxStore.cxx2
-rw-r--r--sw/source/core/doc/DocumentTimerManager.cxx4
-rw-r--r--sw/source/core/doc/doccorr.cxx6
-rw-r--r--sw/source/core/doc/docdesc.cxx2
-rw-r--r--sw/source/core/doc/tblafmt.cxx6
-rw-r--r--sw/source/core/docnode/ndtbl.cxx8
-rw-r--r--sw/source/core/edit/edfcol.cxx10
-rw-r--r--sw/source/core/fields/ddefld.cxx3
-rw-r--r--sw/source/core/frmedt/fetab.cxx7
-rw-r--r--sw/source/core/layout/frmtool.cxx13
-rw-r--r--sw/source/core/sw3io/swacorr.cxx8
-rw-r--r--sw/source/core/txtnode/txtedt.cxx22
-rw-r--r--sw/source/core/undo/docundo.cxx3
-rw-r--r--sw/source/core/undo/unsect.cxx3
-rw-r--r--sw/source/core/undo/untbl.cxx9
-rw-r--r--sw/source/core/unocore/unoframe.cxx3
-rw-r--r--sw/source/uibase/app/docstyle.cxx9
-rw-r--r--sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx30
-rw-r--r--sw/source/uibase/uno/SwXDocumentSettings.cxx3
21 files changed, 93 insertions, 78 deletions
diff --git a/sw/source/core/crsr/pam.cxx b/sw/source/core/crsr/pam.cxx
index d162bfb9516b..bc3f9d7104a2 100644
--- a/sw/source/core/crsr/pam.cxx
+++ b/sw/source/core/crsr/pam.cxx
@@ -918,19 +918,20 @@ bool SwPaM::HasReadonlySel(bool bFormView, bool const isReplace) const
// Allow editing when the cursor/selection is fully inside of a legacy form field.
bRet = !( pA != nullptr && !bAtStartA && !bAtStartB && pA == pB );
- if (bRet && rDoc.GetEditShell() && rDoc.GetEditShell()->CursorInsideContentControl())
+ if (bRet)
{
// Also allow editing inside content controls in general, similar to form fields.
// Specific types will be disabled below.
- bRet = false;
+ if (const SwEditShell* pEditShell = rDoc.GetEditShell())
+ bRet = !pEditShell->CursorInsideContentControl();
}
}
if (!bRet)
{
// Paragraph Signatures and Classification fields are read-only.
- if (rDoc.GetEditShell())
- bRet = rDoc.GetEditShell()->IsCursorInParagraphMetadataField();
+ if (const SwEditShell* pEditShell = rDoc.GetEditShell())
+ bRet = pEditShell->IsCursorInParagraphMetadataField();
}
if (!bRet &&
diff --git a/sw/source/core/crsr/swcrsr.cxx b/sw/source/core/crsr/swcrsr.cxx
index 566b225c7e61..132bbe644610 100644
--- a/sw/source/core/crsr/swcrsr.cxx
+++ b/sw/source/core/crsr/swcrsr.cxx
@@ -1782,9 +1782,10 @@ bool SwCursor::LeftRight( bool bLeft, sal_uInt16 nCnt, SwCursorSkipMode nMode,
if ( !Move( fnMove, fnGo ) )
{
- SwEditShell* rSh = GetDoc().GetEditShell();
- if (rSh && rSh->GetViewOptions() &&
- rSh->GetViewOptions()->IsShowOutlineContentVisibilityButton())
+ const SwEditShell* pSh = GetDoc().GetEditShell();
+ const SwViewOption* pViewOptions = pSh ? pSh->GetViewOptions() : nullptr;
+ if (pViewOptions && pViewOptions->IsShowOutlineContentVisibilityButton())
+ {
// Fixes crash that occurs in documents with outline content folded at the end of
// the document. When the cursor is at the end of the visible document and
// right arrow key is pressed Move fails after moving the cursor to the
@@ -1792,6 +1793,7 @@ bool SwCursor::LeftRight( bool bLeft, sal_uInt16 nCnt, SwCursorSkipMode nMode,
// weird numbers to be displayed in the statusbar page number count. Left
// arrow, when in this state, causes a crash without RestoredSavePos() added here.
RestoreSavePos();
+ }
break;
}
@@ -2103,7 +2105,8 @@ bool SwCursor::UpDown( bool bUp, sal_uInt16 nCnt,
//Update cursor to change nUpDownX.
if ( aOldPos.GetContentIndex() == nOffset )
{
- GetDoc().GetEditShell()->UpdateCursor();
+ if (SwEditShell* pSh = GetDoc().GetEditShell())
+ pSh->UpdateCursor();
bRet = false;
}
else{
diff --git a/sw/source/core/doc/CntntIdxStore.cxx b/sw/source/core/doc/CntntIdxStore.cxx
index 3c89c2384a17..451c8362521b 100644
--- a/sw/source/core/doc/CntntIdxStore.cxx
+++ b/sw/source/core/doc/CntntIdxStore.cxx
@@ -435,7 +435,7 @@ void ContentIdxStoreImpl::RestoreUnoCursors(updater_t const & rUpdater)
void ContentIdxStoreImpl::SaveShellCursors(SwDoc& rDoc, SwNodeOffset nNode, sal_Int32 nContent)
{
SwCursorShell* pShell = rDoc.GetEditShell();
- if( !pShell )
+ if (!pShell)
return;
for(SwViewShell& rCurShell : pShell->GetRingContainer())
{
diff --git a/sw/source/core/doc/DocumentTimerManager.cxx b/sw/source/core/doc/DocumentTimerManager.cxx
index 10de8efbebac..13f85a2026c8 100644
--- a/sw/source/core/doc/DocumentTimerManager.cxx
+++ b/sw/source/core/doc/DocumentTimerManager.cxx
@@ -199,8 +199,8 @@ IMPL_LINK_NOARG( DocumentTimerManager, DoIdleJobs, Timer*, void )
m_rDoc.getIDocumentFieldsAccess().UpdateRefFields(); // References
// Validate and update the paragraph signatures.
- if (m_rDoc.GetEditShell())
- m_rDoc.GetEditShell()->ValidateAllParagraphSignatures(true);
+ if (SwEditShell* pSh = m_rDoc.GetEditShell())
+ pSh->ValidateAllParagraphSignatures(true);
pTmpRoot->EndAllAction();
diff --git a/sw/source/core/doc/doccorr.cxx b/sw/source/core/doc/doccorr.cxx
index 596634bb5e1f..8cf23cc43ab5 100644
--- a/sw/source/core/doc/doccorr.cxx
+++ b/sw/source/core/doc/doccorr.cxx
@@ -91,9 +91,8 @@ void PaMCorrAbs( const SwPaM& rRange,
SwPosition const aEnd( *rRange.End() );
SwPosition const aNewPos( rNewPos );
SwDoc& rDoc = aStart.GetNode().GetDoc();
- SwCursorShell *const pShell = rDoc.GetEditShell();
- if( pShell )
+ if (SwCursorShell *const pShell = rDoc.GetEditShell())
{
for(const SwViewShell& rShell : pShell->GetRingContainer())
{
@@ -249,8 +248,7 @@ void PaMCorrRel( const SwNode &rOldNode,
const sal_Int32 nCntIdx = rNewPos.GetContentIndex() + nOffset;
- SwCursorShell const* pShell = rDoc.GetEditShell();
- if( pShell )
+ if (SwCursorShell const* pShell = rDoc.GetEditShell())
{
for(const SwViewShell& rShell : pShell->GetRingContainer())
{
diff --git a/sw/source/core/doc/docdesc.cxx b/sw/source/core/doc/docdesc.cxx
index d75caf8cac0b..57e561e1f444 100644
--- a/sw/source/core/doc/docdesc.cxx
+++ b/sw/source/core/doc/docdesc.cxx
@@ -897,7 +897,7 @@ void SwDoc::PrtOLENotify( bool bAll )
IMPL_LINK_NOARG( SwDoc, DoUpdateModifiedOLE, Timer *, void )
{
SwFEShell* pSh = static_cast<SwFEShell*>(GetEditShell());
- if( !pSh )
+ if (!pSh)
return;
mbOLEPrtNotifyPending = mbAllOLENotify = false;
diff --git a/sw/source/core/doc/tblafmt.cxx b/sw/source/core/doc/tblafmt.cxx
index 901b472fa74b..fdfe2702149b 100644
--- a/sw/source/core/doc/tblafmt.cxx
+++ b/sw/source/core/doc/tblafmt.cxx
@@ -683,8 +683,8 @@ void SwTableAutoFormat::RestoreTableProperties(SwTable &table) const
pFormat->SetFormatAttr(rSet);
- SwEditShell *pShell = pDoc->GetEditShell();
- pDoc->SetRowSplit(*pShell->getShellCursor(false), SwFormatRowSplit(m_bRowSplit));
+ if (SwEditShell *pShell = pDoc->GetEditShell())
+ pDoc->SetRowSplit(*pShell->getShellCursor(false), SwFormatRowSplit(m_bRowSplit));
table.SetRowsToRepeat(m_aRepeatHeading);
}
@@ -700,7 +700,7 @@ void SwTableAutoFormat::StoreTableProperties(const SwTable &table)
return;
SwEditShell *pShell = pDoc->GetEditShell();
- std::unique_ptr<SwFormatRowSplit> pRowSplit = SwDoc::GetRowSplit(*pShell->getShellCursor(false));
+ std::unique_ptr<SwFormatRowSplit> pRowSplit(pShell ? SwDoc::GetRowSplit(*pShell->getShellCursor(false)) : nullptr);
m_bRowSplit = pRowSplit && pRowSplit->GetValue();
pRowSplit.reset();
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index 66991287a888..77f7a4d3e97c 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -1437,7 +1437,7 @@ bool SwDoc::TableToText( const SwTableNode* pTableNd, sal_Unicode cCh )
// If this is triggered by SwUndoTableToText::Repeat() nobody ever deleted
// the table cursor.
SwEditShell* pESh = GetEditShell();
- if( pESh && pESh->IsTableMode() )
+ if (pESh && pESh->IsTableMode())
pESh->ClearMark();
SwNodeRange aRg( *pTableNd, SwNodeOffset(0), *pTableNd->EndOfSectionNode() );
@@ -1828,8 +1828,7 @@ void SwDoc::DeleteRow( const SwCursor& rCursor )
if( aFndBox.GetLines().empty() )
return;
- SwEditShell* pESh = GetEditShell();
- if( pESh )
+ if (SwEditShell* pESh = GetEditShell())
{
pESh->KillPams();
// FIXME: actually we should be iterating over all Shells!
@@ -1910,8 +1909,7 @@ void SwDoc::DeleteCol( const SwCursor& rCursor )
// The Cursors need to be removed from the to-be-deleted range.
// Always place them after/on top of the Table; they are always set
// to the old position via the document position.
- SwEditShell* pESh = GetEditShell();
- if( pESh )
+ if (SwEditShell* pESh = GetEditShell())
{
const SwNode* pNd = rCursor.GetPointNode().FindTableBoxStartNode();
pESh->ParkCursor( *pNd );
diff --git a/sw/source/core/edit/edfcol.cxx b/sw/source/core/edit/edfcol.cxx
index dbd9d5bb30dd..47b4eb61684d 100644
--- a/sw/source/core/edit/edfcol.cxx
+++ b/sw/source/core/edit/edfcol.cxx
@@ -1728,9 +1728,10 @@ void SwUndoParagraphSigning::Insert()
// Prevent validation since this will trigger a premature validation
// upon inserting, but before setting the metadata.
SwEditShell* pEditSh = m_rDoc.GetEditShell();
- const bool bOldValidationFlag = pEditSh->SetParagraphSignatureValidation(false);
+ const bool bOldValidationFlag = pEditSh && pEditSh->SetParagraphSignatureValidation(false);
comphelper::ScopeGuard const g([&] () {
- pEditSh->SetParagraphSignatureValidation(bOldValidationFlag);
+ if (pEditSh)
+ pEditSh->SetParagraphSignatureValidation(bOldValidationFlag);
m_rDoc.GetIDocumentUndoRedo().DoUndo(isUndoEnabled);
});
@@ -1747,9 +1748,10 @@ void SwUndoParagraphSigning::Remove()
// Prevent validation since this will trigger a premature validation
// upon removing.
SwEditShell* pEditSh = m_rDoc.GetEditShell();
- const bool bOldValidationFlag = pEditSh->SetParagraphSignatureValidation(false);
+ const bool bOldValidationFlag = pEditSh && pEditSh->SetParagraphSignatureValidation(false);
comphelper::ScopeGuard const g([&] () {
- pEditSh->SetParagraphSignatureValidation(bOldValidationFlag);
+ if (pEditSh)
+ pEditSh->SetParagraphSignatureValidation(bOldValidationFlag);
m_rDoc.GetIDocumentUndoRedo().DoUndo(isUndoEnabled);
});
diff --git a/sw/source/core/fields/ddefld.cxx b/sw/source/core/fields/ddefld.cxx
index 55b7d4566609..8f01b257aa5e 100644
--- a/sw/source/core/fields/ddefld.cxx
+++ b/sw/source/core/fields/ddefld.cxx
@@ -114,8 +114,7 @@ void SwIntrnlRefLink::Closed()
{
// advise goes, convert all fields into text?
SwViewShell* pSh = m_rFieldType.GetDoc()->getIDocumentLayoutAccess().GetCurrentViewShell();
- SwEditShell* pESh = m_rFieldType.GetDoc()->GetEditShell();
- if( pESh )
+ if (SwEditShell* pESh = m_rFieldType.GetDoc()->GetEditShell())
{
pESh->StartAllAction();
pESh->FieldToText(&m_rFieldType);
diff --git a/sw/source/core/frmedt/fetab.cxx b/sw/source/core/frmedt/fetab.cxx
index 3c0c5a4848a7..d4348fe13a9d 100644
--- a/sw/source/core/frmedt/fetab.cxx
+++ b/sw/source/core/frmedt/fetab.cxx
@@ -361,8 +361,8 @@ bool SwFEShell::DeleteRow(bool bCompleteTable)
// don't need to remove the row frames in Show Changes mode
if ( !bRecordAndHideChanges )
{
- SwEditShell* pEditShell = GetDoc()->GetEditShell();
- pEditShell->Delete(false);
+ if (SwEditShell* pEditShell = GetDoc()->GetEditShell())
+ pEditShell->Delete(false);
EndAllActionAndCall();
EndUndo(bCompleteTable ? SwUndoId::UI_TABLE_DELETE : SwUndoId::ROW_DELETE);
@@ -487,7 +487,8 @@ bool SwFEShell::DeleteRow(bool bCompleteTable)
pWrtShell->UpdateCursor();
}
- pEditShell->Delete(false);
+ if (pEditShell)
+ pEditShell->Delete(false);
}
SwNodeOffset nIdx;
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx
index 0bae8e422e81..e47c68283e33 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -3897,12 +3897,17 @@ SwFrame* GetFrameOfModify(SwRootFrame const*const pLayout, sw::BroadcastingModif
bool IsExtraData( const SwDoc *pDoc )
{
const SwLineNumberInfo &rInf = pDoc->GetLineNumberInfo();
- return rInf.IsPaintLineNumbers() ||
+ if (rInf.IsPaintLineNumbers() ||
rInf.IsCountInFlys() ||
(static_cast<sal_Int16>(SW_MOD()->GetRedlineMarkPos()) != text::HoriOrientation::NONE &&
- !pDoc->getIDocumentRedlineAccess().GetRedlineTable().empty()) ||
- (pDoc->GetEditShell() && pDoc->GetEditShell()->GetViewOptions() &&
- pDoc->GetEditShell()->GetViewOptions()->IsShowOutlineContentVisibilityButton());
+ !pDoc->getIDocumentRedlineAccess().GetRedlineTable().empty()))
+ {
+ return true;
+ }
+
+ const SwEditShell* pSh = pDoc->GetEditShell();
+ const SwViewOption* pViewOptions = pSh ? pSh->GetViewOptions() : nullptr;
+ return pViewOptions && pViewOptions->IsShowOutlineContentVisibilityButton();
}
// OD 22.09.2003 #110978#
diff --git a/sw/source/core/sw3io/swacorr.cxx b/sw/source/core/sw3io/swacorr.cxx
index 97fcc55431b0..b626c94d190f 100644
--- a/sw/source/core/sw3io/swacorr.cxx
+++ b/sw/source/core/sw3io/swacorr.cxx
@@ -65,7 +65,11 @@ bool SwAutoCorrect::PutText( const uno::Reference < embed::XStorage >& rStg,
SfxObjectShell& rObjSh, OUString& rLong )
{
SwDocShell* pDShell = dynamic_cast<SwDocShell*>(&rObjSh);
- if( !pDShell )
+ if (!pDShell)
+ return false;
+
+ SwEditShell* pEditSh = pDShell->GetEditShell();
+ if (!pEditSh)
return false;
ErrCode nRet = ERRCODE_NONE;
@@ -77,7 +81,7 @@ bool SwAutoCorrect::PutText( const uno::Reference < embed::XStorage >& rStg,
nRet = aBlk.BeginPutDoc( rShort, rShort );
if( ! nRet.IsError() )
{
- pDShell->GetEditShell()->CopySelToDoc( *pDoc );
+ pEditSh->CopySelToDoc(*pDoc);
nRet = aBlk.PutDoc();
aBlk.AddName ( rShort, rShort );
if( ! nRet.IsError() )
diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx
index 2df9590832c8..8c1d1941b684 100644
--- a/sw/source/core/txtnode/txtedt.cxx
+++ b/sw/source/core/txtnode/txtedt.cxx
@@ -1103,6 +1103,8 @@ void SwTextNode::SetLanguageAndFont( const SwPaM &rPaM,
const vcl::Font *pFont, sal_uInt16 nFontWhichId )
{
SwEditShell *pEditShell = GetDoc().GetEditShell();
+ if (!pEditShell)
+ return;
SfxItemSet aSet(pEditShell->GetAttrPool(), nLangWhichId, nLangWhichId );
if (pFont)
aSet.MergeRange(nFontWhichId, nFontWhichId); // Keep it sorted
@@ -1207,16 +1209,18 @@ bool SwTextNode::Convert( SwConversionArgs &rArgs )
aCurPaM.GetPoint()->SetContent(nBegin + nLen);
// check script type of selected text
- SwEditShell *pEditShell = GetDoc().GetEditShell();
- pEditShell->Push(); // save current cursor on stack
- pEditShell->SetSelection( aCurPaM );
- bool bIsAsianScript = (SvtScriptType::ASIAN == pEditShell->GetScriptType());
- pEditShell->Pop(SwCursorShell::PopMode::DeleteCurrent); // restore cursor from stack
-
- if (!bIsAsianScript && rArgs.bAllowImplicitChangesForNotConvertibleText)
+ if (SwEditShell *pEditShell = GetDoc().GetEditShell())
{
- // Store for later use
- aImplicitChanges.emplace_back(nBegin, nBegin+nLen);
+ pEditShell->Push(); // save current cursor on stack
+ pEditShell->SetSelection( aCurPaM );
+ bool bIsAsianScript = (SvtScriptType::ASIAN == pEditShell->GetScriptType());
+ pEditShell->Pop(SwCursorShell::PopMode::DeleteCurrent); // restore cursor from stack
+
+ if (!bIsAsianScript && rArgs.bAllowImplicitChangesForNotConvertibleText)
+ {
+ // Store for later use
+ aImplicitChanges.emplace_back(nBegin, nBegin+nLen);
+ }
}
nBegin = nChPos; // start of next language portion
}
diff --git a/sw/source/core/undo/docundo.cxx b/sw/source/core/undo/docundo.cxx
index c474dd679214..84fcd4fe5bb6 100644
--- a/sw/source/core/undo/docundo.cxx
+++ b/sw/source/core/undo/docundo.cxx
@@ -666,8 +666,7 @@ bool UndoManager::impl_DoUndoRedo(UndoOrRedoType undoOrRedo, size_t nUndoOffset)
UnoActionContext c(& rDoc); // exception-safe StartAllAction/EndAllAction
- SwEditShell *const pEditShell( rDoc.GetEditShell() );
-
+ SwEditShell *const pEditShell(rDoc.GetEditShell());
OSL_ENSURE(pEditShell, "sw::UndoManager needs a SwEditShell!");
if (!pEditShell)
{
diff --git a/sw/source/core/undo/unsect.cxx b/sw/source/core/undo/unsect.cxx
index 0463b665677f..b812821fb8d3 100644
--- a/sw/source/core/undo/unsect.cxx
+++ b/sw/source/core/undo/unsect.cxx
@@ -249,8 +249,7 @@ void SwUndoInsSection::RedoImpl(::sw::UndoRedoContext & rContext)
if( pUpdateTOX )
{
// initiate formatting
- SwEditShell* pESh = rDoc.GetEditShell();
- if( pESh )
+ if (SwEditShell* pESh = rDoc.GetEditShell())
pESh->CalcLayout();
// insert page numbers
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index ce646033df6c..4621bb8d6e75 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -312,12 +312,19 @@ void SwUndoInsTable::RedoImpl(::sw::UndoRedoContext & rContext)
{
SwDoc & rDoc = rContext.GetDoc();
+ SwEditShell *const pEditShell(rDoc.GetEditShell());
+ OSL_ENSURE(pEditShell, "SwUndoInsTable::RedoImpl needs a SwEditShell!");
+ if (!pEditShell)
+ {
+ throw uno::RuntimeException();
+ }
+
SwPosition const aPos(rDoc.GetNodes(), m_nStartNode);
const SwTable* pTable = rDoc.InsertTable( m_aInsTableOptions, aPos, m_nRows, m_nColumns,
m_nAdjust,
m_pAutoFormat.get(),
m_oColumnWidth ? &*m_oColumnWidth : nullptr );
- rDoc.GetEditShell()->MoveTable( GotoPrevTable, fnTableStart );
+ pEditShell->MoveTable( GotoPrevTable, fnTableStart );
static_cast<SwFrameFormat*>(pTable->GetFrameFormat())->SetFormatName( m_sTableName );
SwTableNode* pTableNode = rDoc.GetNodes()[m_nStartNode]->GetTableNode();
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index 71e69a95192d..d81ed0ff6b63 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -2136,8 +2136,7 @@ uno::Any SwXFrame::getPropertyValue(const OUString& rPropertyName)
SwDoc* pDoc = pFormat->GetDoc();
if (pDoc)
{
- const SwEditShell* pEditShell = pDoc->GetEditShell();
- if (pEditShell)
+ if (const SwEditShell* pEditShell = pDoc->GetEditShell())
{
SwFrame* pCurrFrame = pEditShell->GetCurrFrame(false);
GraphicAttr aGraphicAttr;
diff --git a/sw/source/uibase/app/docstyle.cxx b/sw/source/uibase/app/docstyle.cxx
index 63f301e0c727..563f7d2ea6f5 100644
--- a/sw/source/uibase/app/docstyle.cxx
+++ b/sw/source/uibase/app/docstyle.cxx
@@ -504,8 +504,7 @@ void SwDocStyleSheet::SetGrabBagItem(const uno::Any& rVal)
{
dynamic_cast<SwDocStyleSheetPool&>(*m_pPool).InvalidateIterator();
m_pPool->Broadcast(SfxStyleSheetHint(SfxHintId::StyleSheetModified, *this));
- SwEditShell* pSh = m_rDoc.GetEditShell();
- if (pSh)
+ if (SwEditShell* pSh = m_rDoc.GetEditShell())
pSh->CallChgLnk();
}
}
@@ -615,8 +614,7 @@ void SwDocStyleSheet::SetHidden( bool bValue )
// calling pPool->First() here would be quite slow...
dynamic_cast<SwDocStyleSheetPool&>(*m_pPool).InvalidateIterator(); // internal list has to be updated
m_pPool->Broadcast( SfxStyleSheetHint( SfxHintId::StyleSheetModified, *this ) );
- SwEditShell* pSh = m_rDoc.GetEditShell();
- if( pSh )
+ if (SwEditShell* pSh = m_rDoc.GetEditShell())
pSh->CallChgLnk();
}
}
@@ -1148,8 +1146,7 @@ bool SwDocStyleSheet::SetName(const OUString& rStr, bool bReindexNow)
{
m_pPool->First(nFamily); // internal list has to be updated
m_pPool->Broadcast( SfxStyleSheetHint( SfxHintId::StyleSheetModified, *this ) );
- SwEditShell* pSh = m_rDoc.GetEditShell();
- if( pSh )
+ if (SwEditShell* pSh = m_rDoc.GetEditShell())
pSh->CallChgLnk();
}
return true;
diff --git a/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx
index 9b85126ca856..5f861000296a 100644
--- a/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx
+++ b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx
@@ -49,8 +49,8 @@
namespace sw::sidebar
{
-static void UpdateTree(SwDocShell* pDocSh, std::vector<svx::sidebar::TreeNode>& aStore,
- sal_Int32& rParIdx);
+static void UpdateTree(SwDocShell& rDocSh, SwEditShell& rEditSh,
+ std::vector<svx::sidebar::TreeNode>& aStore, sal_Int32& rParIdx);
std::unique_ptr<PanelLayout> WriterInspectorTextPanel::Create(weld::Widget* pParent)
{
@@ -74,9 +74,9 @@ WriterInspectorTextPanel::WriterInspectorTextPanel(weld::Widget* pParent)
// Update panel on start
std::vector<svx::sidebar::TreeNode> aStore;
- if (pDocSh && pDocSh->GetDoc()->GetEditShell()
- && pDocSh->GetDoc()->GetEditShell()->GetCursor()->GetPointNode().GetTextNode())
- UpdateTree(pDocSh, aStore, m_nParIdx);
+ SwEditShell* pEditSh = pDocSh ? pDocSh->GetDoc()->GetEditShell() : nullptr;
+ if (pEditSh && pEditSh->GetCursor()->GetPointNode().GetTextNode())
+ UpdateTree(*pDocSh, *pEditSh, aStore, m_nParIdx);
updateEntries(aStore, m_nParIdx);
}
@@ -519,11 +519,11 @@ static void InsertValues(const css::uno::Reference<css::uno::XInterface>& rSourc
});
}
-static void UpdateTree(SwDocShell* pDocSh, std::vector<svx::sidebar::TreeNode>& aStore,
- sal_Int32& rParIdx)
+static void UpdateTree(SwDocShell& rDocSh, SwEditShell& rEditSh,
+ std::vector<svx::sidebar::TreeNode>& aStore, sal_Int32& rParIdx)
{
- SwDoc* pDoc = pDocSh->GetDoc();
- SwPaM* pCursor = pDoc->GetEditShell()->GetCursor();
+ SwDoc* pDoc = rDocSh.GetDoc();
+ SwPaM* pCursor = rEditSh.GetCursor();
svx::sidebar::TreeNode aCharDFNode;
svx::sidebar::TreeNode aCharNode;
svx::sidebar::TreeNode aParaNode;
@@ -566,7 +566,7 @@ static void UpdateTree(SwDocShell* pDocSh, std::vector<svx::sidebar::TreeNode>&
InsertValues(xRange, aIsDefined, aCharDFNode, false, aHiddenProperties, aFieldsNode);
- uno::Reference<style::XStyleFamiliesSupplier> xStyleFamiliesSupplier(pDocSh->GetBaseModel(),
+ uno::Reference<style::XStyleFamiliesSupplier> xStyleFamiliesSupplier(rDocSh.GetBaseModel(),
uno::UNO_QUERY);
uno::Reference<container::XNameAccess> xStyleFamilies
= xStyleFamiliesSupplier->getStyleFamilies();
@@ -626,7 +626,7 @@ static void UpdateTree(SwDocShell* pDocSh, std::vector<svx::sidebar::TreeNode>&
aParaNode.children.end()); // Parent style should be first then children
// Collect bookmarks at character position
- uno::Reference<text::XBookmarksSupplier> xBookmarksSupplier(pDocSh->GetBaseModel(),
+ uno::Reference<text::XBookmarksSupplier> xBookmarksSupplier(rDocSh.GetBaseModel(),
uno::UNO_QUERY);
uno::Reference<container::XIndexAccess> xBookmarks(xBookmarksSupplier->getBookmarks(),
@@ -662,7 +662,7 @@ static void UpdateTree(SwDocShell* pDocSh, std::vector<svx::sidebar::TreeNode>&
}
// Collect sections at character position
- uno::Reference<text::XTextSectionsSupplier> xTextSectionsSupplier(pDocSh->GetBaseModel(),
+ uno::Reference<text::XTextSectionsSupplier> xTextSectionsSupplier(rDocSh.GetBaseModel(),
uno::UNO_QUERY);
uno::Reference<container::XIndexAccess> xTextSections(xTextSectionsSupplier->getTextSections(),
@@ -738,9 +738,9 @@ IMPL_LINK(WriterInspectorTextPanel, AttrChangedNotify, LinkParamNone*, pLink, vo
SwDocShell* pDocSh = m_pShell->GetDoc()->GetDocShell();
std::vector<svx::sidebar::TreeNode> aStore;
- if (pDocSh && pDocSh->GetDoc()->GetEditShell()
- && pDocSh->GetDoc()->GetEditShell()->GetCursor()->GetPointNode().GetTextNode())
- UpdateTree(pDocSh, aStore, m_nParIdx);
+ SwEditShell* pEditSh = pDocSh ? pDocSh->GetDoc()->GetEditShell() : nullptr;
+ if (pEditSh && pEditSh->GetCursor()->GetPointNode().GetTextNode())
+ UpdateTree(*pDocSh, *pEditSh, aStore, m_nParIdx);
updateEntries(aStore, m_nParIdx);
}
diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx b/sw/source/uibase/uno/SwXDocumentSettings.cxx
index a30473028d1e..2f53b0f1aff3 100644
--- a/sw/source/uibase/uno/SwXDocumentSettings.cxx
+++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx
@@ -490,8 +490,7 @@ void SwXDocumentSettings::_setSingleValue( const comphelper::PropertyInfo & rInf
{
bool bIsKern = *o3tl::doAccess<bool>(rValue);
mpDoc->getIDocumentSettingAccess().set(DocumentSettingId::KERN_ASIAN_PUNCTUATION, bIsKern);
- SwEditShell* pEditSh = mpDoc->GetEditShell();
- if(pEditSh)
+ if (SwEditShell* pEditSh = mpDoc->GetEditShell())
pEditSh->ChgHyphenation();
}
break;