summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/inc/dbmgr.hxx3
-rw-r--r--sw/inc/doc.hxx2
-rw-r--r--sw/source/uibase/app/applab.cxx2
-rw-r--r--sw/source/uibase/dbui/dbmgr.cxx7
4 files changed, 10 insertions, 4 deletions
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