sw/inc/HandleAnchorNodeChg.hxx     |    4 +++-
 sw/source/core/frmedt/fefly1.cxx   |    2 +-
 sw/source/core/frmedt/feshview.cxx |    2 +-
 sw/source/core/layout/atrfrm.cxx   |    7 ++++++-
 4 files changed, 11 insertions(+), 4 deletions(-)

New commits:
commit acb3638afd79472851bdf111192a2c023f44bf67
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Nov 15 09:10:36 2021 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Nov 15 17:17:42 2021 +0100

    replace an ugly coverity warning suppression
    
    Change-Id: I73921e43e7e955793493e2accab4e3799cfd121c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125221
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sw/inc/HandleAnchorNodeChg.hxx b/sw/inc/HandleAnchorNodeChg.hxx
index ae46c7e2cc89..446f9ac710a6 100644
--- a/sw/inc/HandleAnchorNodeChg.hxx
+++ b/sw/inc/HandleAnchorNodeChg.hxx
@@ -53,7 +53,7 @@ public:
                           SwFlyFrame const* _pKeepThisFlyFrame = nullptr);
 
     /** calls <SwFlyFrameFormat::MakeFrames>, if re-creation of fly frames is 
necessary. */
-    ~SwHandleAnchorNodeChg() COVERITY_NOEXCEPT_FALSE;
+    ~SwHandleAnchorNodeChg();
 
 private:
     // fly frame format, which is tracked for an anchor node change.
@@ -67,6 +67,8 @@ private:
 
     SwWrtShell* mpWrtShell;
 
+    void ImplDestroy();
+
     SwHandleAnchorNodeChg(const SwHandleAnchorNodeChg&) = delete;
     void operator=(const SwHandleAnchorNodeChg) = delete;
 };
diff --git a/sw/source/core/frmedt/fefly1.cxx b/sw/source/core/frmedt/fefly1.cxx
index 7043681704d9..8158359458b7 100644
--- a/sw/source/core/frmedt/fefly1.cxx
+++ b/sw/source/core/frmedt/fefly1.cxx
@@ -605,7 +605,7 @@ Point SwFEShell::FindAnchorPos( const Point& rAbsPos, bool 
bMoveIt )
                     // re-created. Thus, delete all fly frames except the 
<this> before the
                     // anchor attribute is change and re-create them 
afterwards.
                     {
-                        std::unique_ptr<SwHandleAnchorNodeChg, 
o3tl::default_delete<SwHandleAnchorNodeChg>> pHandleAnchorNodeChg;
+                        std::unique_ptr<SwHandleAnchorNodeChg> 
pHandleAnchorNodeChg;
                         SwFlyFrameFormat* pFlyFrameFormat( 
dynamic_cast<SwFlyFrameFormat*>(&rFormat) );
                         if ( pFlyFrameFormat )
                         {
diff --git a/sw/source/core/frmedt/feshview.cxx 
b/sw/source/core/frmedt/feshview.cxx
index 24a9655945f3..1e3c8f2ff150 100644
--- a/sw/source/core/frmedt/feshview.cxx
+++ b/sw/source/core/frmedt/feshview.cxx
@@ -567,7 +567,7 @@ bool SwFEShell::MoveAnchor( SwMove nDir )
             // re-created. Thus, delete all fly frames except the <this> 
before the
             // anchor attribute is change and re-create them afterwards.
             {
-                std::unique_ptr<SwHandleAnchorNodeChg, 
o3tl::default_delete<SwHandleAnchorNodeChg>> pHandleAnchorNodeChg;
+                std::unique_ptr<SwHandleAnchorNodeChg> pHandleAnchorNodeChg;
                 SwFlyFrameFormat* pFlyFrameFormat( 
dynamic_cast<SwFlyFrameFormat*>(&rFormat) );
                 if ( pFlyFrameFormat )
                 {
diff --git a/sw/source/core/layout/atrfrm.cxx b/sw/source/core/layout/atrfrm.cxx
index bc77bcf38f14..4791fda80169 100644
--- a/sw/source/core/layout/atrfrm.cxx
+++ b/sw/source/core/layout/atrfrm.cxx
@@ -3374,7 +3374,7 @@ SwHandleAnchorNodeChg::SwHandleAnchorNodeChg( 
SwFlyFrameFormat& _rFlyFrameFormat
     }
 }
 
-SwHandleAnchorNodeChg::~SwHandleAnchorNodeChg() COVERITY_NOEXCEPT_FALSE
+void SwHandleAnchorNodeChg::ImplDestroy()
 {
     if ( mbAnchorNodeChanged )
     {
@@ -3430,6 +3430,11 @@ SwHandleAnchorNodeChg::~SwHandleAnchorNodeChg() 
COVERITY_NOEXCEPT_FALSE
     mpWrtShell->Pop(SwCursorShell::PopMode::DeleteCurrent);
 }
 
+SwHandleAnchorNodeChg::~SwHandleAnchorNodeChg()
+{
+    suppress_fun_call_w_exception(ImplDestroy());
+}
+
 namespace sw
 {
     DrawFrameFormatHint::~DrawFrameFormatHint() {}

Reply via email to