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 <caolanm@redhat.com>
diff --git a/sw/inc/dbmgr.hxx b/sw/inc/dbmgr.hxx
index 94fd5ba3..d18660e 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 8555945..831c59d 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 c5fb25b..4bb9ed9 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 db16de4..15fa538 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