sw/inc/dbmgr.hxx                |    3 ++-
 sw/inc/doc.hxx                  |    2 +-
 sw/source/uibase/app/applab.cxx |    2 +-
 sw/source/uibase/dbui/dbmgr.cxx |    7 ++++++-
 4 files changed, 10 insertions(+), 4 deletions(-)

New commits:
commit fcad2503ede92b515076f9bb3162855dcc2c575d
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue Nov 16 15:11:01 2021 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Wed Nov 17 09:44:05 2021 +0100

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

diff --git a/sw/inc/dbmgr.hxx b/sw/inc/dbmgr.hxx
index 94fd5ba3861f..d18660ea7ffd 100644
--- a/sw/inc/dbmgr.hxx
+++ b/sw/inc/dbmgr.hxx
@@ -285,13 +285,14 @@ class SW_DLLPUBLIC SwDBManager
 
     SAL_DLLPRIVATE bool ToNextMergeRecord();
     SAL_DLLPRIVATE bool IsValidMergeRecord() const;
+    SAL_DLLPRIVATE void ImplDestroy();
 
     SwDBManager(SwDBManager const&) = delete;
     SwDBManager& operator=(SwDBManager const&) = delete;
 
 public:
     SwDBManager(SwDoc* pDoc);
-    ~SwDBManager() COVERITY_NOEXCEPT_FALSE;
+    ~SwDBManager();
 
     /// MailMergeEvent source
     const SwXMailMerge *    GetMailMergeEvtSrc() const  { return 
m_pMergeEvtSrc; }
diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx
index 85559454389d..831c59d2cc05 100644
--- a/sw/inc/doc.hxx
+++ b/sw/inc/doc.hxx
@@ -248,7 +248,7 @@ class SW_DLLPUBLIC SwDoc final
     std::unique_ptr<SwTOXTypes>        mpTOXTypes;              //< 
Tables/indices
     std::unique_ptr<SwDefTOXBase_Impl> mpDefTOXBases;           //< defaults 
of SwTOXBase's
 
-    std::unique_ptr<SwDBManager, o3tl::default_delete<SwDBManager>> 
m_pOwnDBManager; //< own DBManager
+    std::unique_ptr<SwDBManager> m_pOwnDBManager; //< own DBManager
     SwDBManager * m_pDBManager; //< DBManager for evaluation of DB-fields.
 
     SwNumRule       *mpOutlineRule;
diff --git a/sw/source/uibase/app/applab.cxx b/sw/source/uibase/app/applab.cxx
index c5fb25b624c2..4bb9ed9f49c1 100644
--- a/sw/source/uibase/app/applab.cxx
+++ b/sw/source/uibase/app/applab.cxx
@@ -140,7 +140,7 @@ void SwModule::InsertLab(SfxRequest& rReq, bool bLabel)
 
 #if HAVE_FEATURE_DBCONNECTIVITY && !ENABLE_FUZZERS
     // Create DB-Manager
-    std::unique_ptr<SwDBManager, o3tl::default_delete<SwDBManager>> 
pDBManager(new SwDBManager(nullptr));
+    std::unique_ptr<SwDBManager> pDBManager(new SwDBManager(nullptr));
 #endif
 
     // Read SwLabItem from Config
diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx
index db16de43e35e..15fa5386b06a 100644
--- a/sw/source/uibase/dbui/dbmgr.cxx
+++ b/sw/source/uibase/dbui/dbmgr.cxx
@@ -704,7 +704,7 @@ SwDBManager::SwDBManager(SwDoc* pDoc)
 {
 }
 
-SwDBManager::~SwDBManager() COVERITY_NOEXCEPT_FALSE
+void SwDBManager::ImplDestroy()
 {
     RevokeLastRegistrations();
 
@@ -732,6 +732,11 @@ SwDBManager::~SwDBManager() COVERITY_NOEXCEPT_FALSE
     }
 }
 
+SwDBManager::~SwDBManager()
+{
+    suppress_fun_call_w_exception(ImplDestroy());
+}
+
 static void lcl_RemoveSectionLinks( SwWrtShell& rWorkShell )
 {
     //reset all links of the sections of synchronized labels

Reply via email to