diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2022-10-03 19:00:35 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2022-10-04 15:58:20 +0200 |
commit | 5e65aabe40c114f8d4266491fa241833f93c65f6 (patch) | |
tree | 25ab51c574f90bade7b63147ee134a8ad2ffa1d7 | |
parent | tdf#150715 Animations in LO Impress do not work properly (diff) | |
download | core-5e65aabe40c114f8d4266491fa241833f93c65f6.tar.gz core-5e65aabe40c114f8d4266491fa241833f93c65f6.zip |
sw: fix crash in SwParagraphNumTabPage::ExecuteEditNumStyle_Impl
SfxViewShell::Current() could be nullptr
See https://crashreport.libreoffice.org/stats/signature/SfxShell::GetDispatcher()
Change-Id: Ic2ffc2a35eff8b8acbb896ece198916ee074b019
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140889
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit cf15a1fc143536c20c81faab5950ab829ec8df19)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140893
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
-rw-r--r-- | sw/source/ui/chrdlg/numpara.cxx | 14 | ||||
-rw-r--r-- | sw/source/uibase/inc/numpara.hxx | 2 |
2 files changed, 9 insertions, 7 deletions
diff --git a/sw/source/ui/chrdlg/numpara.cxx b/sw/source/ui/chrdlg/numpara.cxx index f67627b2dad0..42206a1b2edc 100644 --- a/sw/source/ui/chrdlg/numpara.cxx +++ b/sw/source/ui/chrdlg/numpara.cxx @@ -309,10 +309,15 @@ IMPL_LINK_NOARG(SwParagraphNumTabPage, EditNumStyleHdl_Impl, weld::Button&, void } // Internal: Perform functions through the Dispatcher -bool SwParagraphNumTabPage::ExecuteEditNumStyle_Impl( +void SwParagraphNumTabPage::ExecuteEditNumStyle_Impl( sal_uInt16 nId, const OUString &rStr, SfxStyleFamily nFamily) { - SfxDispatcher &rDispatcher = *SfxViewShell::Current()->GetDispatcher(); + SfxViewShell* pViewShell = SfxViewShell::Current(); + + if( !pViewShell) + return; + + SfxDispatcher* pDispatcher = pViewShell->GetDispatcher(); SfxStringItem aItem(nId, rStr); SfxUInt16Item aFamily(SID_STYLE_FAMILY, static_cast<sal_uInt16>(nFamily)); const SfxPoolItem* pItems[ 3 ]; @@ -331,12 +336,9 @@ bool SwParagraphNumTabPage::ExecuteEditNumStyle_Impl( pInternalItems[ 0 ] = &aDialogParent; pInternalItems[ 1 ] = nullptr; - const SfxPoolItem* pItem = rDispatcher.Execute( + pDispatcher->Execute( nId, SfxCallMode::SYNCHRON | SfxCallMode::RECORD, pItems, 0, pInternalItems); - - return pItem != nullptr; - } IMPL_LINK(SwParagraphNumTabPage, StyleHdl_Impl, weld::ComboBox&, rBox, void) diff --git a/sw/source/uibase/inc/numpara.hxx b/sw/source/uibase/inc/numpara.hxx index cf43a1b6b155..19fea5b15b94 100644 --- a/sw/source/uibase/inc/numpara.hxx +++ b/sw/source/uibase/inc/numpara.hxx @@ -58,7 +58,7 @@ class SwParagraphNumTabPage final : public SfxTabPage static const WhichRangesContainer aPageRg; - bool ExecuteEditNumStyle_Impl(sal_uInt16 nId, const OUString& rStr, + void ExecuteEditNumStyle_Impl(sal_uInt16 nId, const OUString& rStr, SfxStyleFamily nFamily); public: |