diff options
-rw-r--r-- | sw/inc/dbmgr.hxx | 3 | ||||
-rw-r--r-- | sw/inc/doc.hxx | 2 | ||||
-rw-r--r-- | sw/source/uibase/app/applab.cxx | 2 | ||||
-rw-r--r-- | sw/source/uibase/dbui/dbmgr.cxx | 7 |
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 |