sw/source/core/crsr/callnk.cxx | 7 ++++++- sw/source/core/crsr/callnk.hxx | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-)
New commits: commit 5a06127c3bdcb35bc38162f889ec038266ee0608 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Aug 11 21:00:14 2022 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Aug 12 10:17:16 2022 +0200 cid#1401328 Uncaught exception Change-Id: I3e438e4ea8b8061ffa3cb4253df8854e5f9f9d6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138165 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/source/core/crsr/callnk.cxx b/sw/source/core/crsr/callnk.cxx index 7628a51c27c0..74278a6a0dd8 100644 --- a/sw/source/core/crsr/callnk.cxx +++ b/sw/source/core/crsr/callnk.cxx @@ -106,7 +106,7 @@ void NotifyTableCollapsedParagraph(const SwContentNode *const pNode, SwCursorShe } // namespace sw -SwCallLink::~SwCallLink() COVERITY_NOEXCEPT_FALSE +void SwCallLink::ImplDestroy() { if( m_nNodeType == SwNodeType::NONE || !m_rShell.m_bCallChgLnk ) // see ctor return ; @@ -239,6 +239,11 @@ SwCallLink::~SwCallLink() COVERITY_NOEXCEPT_FALSE m_rShell.GetFlyMacroLnk().Call( pFlyFrame->GetFormat() ); } +SwCallLink::~SwCallLink() +{ + suppress_fun_call_w_exception(ImplDestroy()); +} + tools::Long SwCallLink::getLayoutFrame(const SwRootFrame* pRoot, SwTextNode const & rNd, sal_Int32 nCntPos, bool /*bCalcFrame*/) { diff --git a/sw/source/core/crsr/callnk.hxx b/sw/source/core/crsr/callnk.hxx index ca7db0c8f746..3614816749ad 100644 --- a/sw/source/core/crsr/callnk.hxx +++ b/sw/source/core/crsr/callnk.hxx @@ -39,9 +39,11 @@ public: bool m_bHasSelection; explicit SwCallLink( SwCursorShell & rSh ); - ~SwCallLink() COVERITY_NOEXCEPT_FALSE; + ~SwCallLink(); static tools::Long getLayoutFrame( const SwRootFrame*, SwTextNode const & rNd, sal_Int32 nCntPos, bool bCalcFrame ); +private: + void ImplDestroy(); }; #endif // INCLUDED_SW_SOURCE_CORE_CRSR_CALLNK_HXX