summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2022-10-03 19:00:35 +0200
committerMichael Stahl <michael.stahl@allotropia.de>2022-10-04 15:58:20 +0200
commit5e65aabe40c114f8d4266491fa241833f93c65f6 (patch)
tree25ab51c574f90bade7b63147ee134a8ad2ffa1d7
parenttdf#150715 Animations in LO Impress do not work properly (diff)
downloadcore-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.cxx14
-rw-r--r--sw/source/uibase/inc/numpara.hxx2
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: