[Libreoffice-commits] core.git: include/svtools sc/source svtools/source sw/inc sw/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Sep 21 11:00:47 UTC 2018


 include/svtools/popupwindowcontroller.hxx    |    3 ++-
 sc/source/ui/inc/output.hxx                  |    6 ++++--
 sc/source/ui/view/output2.cxx                |   10 +++++-----
 svtools/source/uno/popupwindowcontroller.cxx |    4 ++--
 sw/inc/calc.hxx                              |    4 ++--
 sw/inc/docfac.hxx                            |    2 +-
 sw/inc/unotxdoc.hxx                          |    3 ++-
 sw/source/core/bastyp/calc.cxx               |    2 +-
 sw/source/core/doc/DocumentFieldsManager.cxx |    3 ++-
 sw/source/core/layout/calcmove.cxx           |    2 +-
 sw/source/filter/basflt/docfact.cxx          |    2 +-
 sw/source/uibase/inc/edtwin.hxx              |    3 ++-
 12 files changed, 25 insertions(+), 19 deletions(-)

New commits:
commit 8d96717154c0c69e46032c10d7e7ddef297a4668
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Sep 21 09:36:59 2018 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Sep 21 13:00:13 2018 +0200

    coverity#1401334 Uncaught exception
    
    Change-Id: I2a74e0bcba46b730067b5baca5e934f95ba265ce
    Reviewed-on: https://gerrit.libreoffice.org/60854
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/svtools/popupwindowcontroller.hxx b/include/svtools/popupwindowcontroller.hxx
index 21fe3ee6bd3e..41de1cbee9c7 100644
--- a/include/svtools/popupwindowcontroller.hxx
+++ b/include/svtools/popupwindowcontroller.hxx
@@ -21,6 +21,7 @@
 #define INCLUDED_SVTOOLS_POPUPWINDOWCONTROLLER_HXX
 
 #include <memory>
+#include <o3tl/deleter.hxx>
 #include <svtools/svtdllapi.h>
 
 #include <com/sun/star/lang/XServiceInfo.hpp>
@@ -61,7 +62,7 @@ public:
     virtual css::uno::Reference< css::awt::XWindow > SAL_CALL createPopupWindow() override;
 
 private:
-    std::unique_ptr< PopupWindowControllerImpl >  mxImpl;
+    std::unique_ptr<PopupWindowControllerImpl, o3tl::default_delete<PopupWindowControllerImpl>>  mxImpl;
 };
 
 } // namespace svt
diff --git a/sc/source/ui/inc/output.hxx b/sc/source/ui/inc/output.hxx
index 0546bd544f7a..e915a71e0aed 100644
--- a/sc/source/ui/inc/output.hxx
+++ b/sc/source/ui/inc/output.hxx
@@ -27,6 +27,7 @@
 #include <com/sun/star/embed/XEmbeddedObject.hpp>
 #include <drawinglayer/processor2d/baseprocessor2d.hxx>
 #include <editeng/svxenum.hxx>
+#include <o3tl/deleter.hxx>
 
 namespace sc {
     struct SpellCheckContext;
@@ -58,6 +59,7 @@ enum ScOutputType { OUTTYPE_WINDOW, OUTTYPE_PRINTER };
 
 class ScFieldEditEngine;
 class ClearableClipRegion;
+typedef std::unique_ptr<ClearableClipRegion, o3tl::default_delete<ClearableClipRegion>> ClearableClipRegionPtr;
 
 class ScOutputData
 {
@@ -247,8 +249,8 @@ private:
     void ShowClipMarks( DrawEditParam& rParam, long nEngineHeight, const Size& aCellSize,
                         bool bMerged, OutputAreaParam& aAreaParam );
 
-    std::unique_ptr<ClearableClipRegion> Clip( DrawEditParam& rParam, const Size& aCellSize, OutputAreaParam& aAreaParam,
-                                               long nEngineHeight, bool bWrapFields );
+    ClearableClipRegionPtr Clip(DrawEditParam& rParam, const Size& aCellSize, OutputAreaParam& aAreaParam,
+                                long nEngineHeight, bool bWrapFields);
 
     bool AdjustAreaParamClipRect(OutputAreaParam& rAreaParam);
     long SetEngineTextAndGetWidth( DrawEditParam& rParam, const OUString& rSetString,
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 522dfba38f0b..2a381039cad0 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -2773,7 +2773,7 @@ public:
         }
     }
 
-    ~ClearableClipRegion()
+    ~ClearableClipRegion() COVERITY_NOEXCEPT_FALSE
     {
         // Pop() or SetClipRegion() must only be called in case bClip was true
         // in the ctor, and only then mpDev is set.
@@ -3185,7 +3185,7 @@ void ScOutputData::ShowClipMarks( DrawEditParam& rParam, long nEngineHeight, con
     }
 }
 
-std::unique_ptr<ClearableClipRegion> ScOutputData::Clip( DrawEditParam& rParam, const Size& aCellSize,
+ClearableClipRegionPtr ScOutputData::Clip( DrawEditParam& rParam, const Size& aCellSize,
                                                         OutputAreaParam& aAreaParam, long nEngineHeight,
                                                         bool bWrapFields)
 {
@@ -3214,9 +3214,9 @@ std::unique_ptr<ClearableClipRegion> ScOutputData::Clip( DrawEditParam& rParam,
     }
 
         // Clip marks are already handled in GetOutputArea
-    return  std::unique_ptr<ClearableClipRegion>( new ClearableClipRegion( rParam.mbPixelToLogic ?
-                                                mpRefDevice->PixelToLogic( aAreaParam.maClipRect )
-                                              : aAreaParam.maClipRect, bClip, bSimClip, mpDev, bMetaFile ));
+    return ClearableClipRegionPtr(new ClearableClipRegion(rParam.mbPixelToLogic ?
+                                                mpRefDevice->PixelToLogic(aAreaParam.maClipRect)
+                                              : aAreaParam.maClipRect, bClip, bSimClip, mpDev, bMetaFile));
 }
 
 void ScOutputData::DrawEditBottomTop(DrawEditParam& rParam)
diff --git a/svtools/source/uno/popupwindowcontroller.cxx b/svtools/source/uno/popupwindowcontroller.cxx
index 264afc41ce75..9d5b5c98bbdc 100644
--- a/svtools/source/uno/popupwindowcontroller.cxx
+++ b/svtools/source/uno/popupwindowcontroller.cxx
@@ -37,7 +37,7 @@ class PopupWindowControllerImpl
 {
 public:
     PopupWindowControllerImpl();
-    ~PopupWindowControllerImpl();
+    ~PopupWindowControllerImpl() COVERITY_NOEXCEPT_FALSE;
 
     void SetPopupWindow( vcl::Window* pPopupWindow, ToolBox* pToolBox );
     void SetFloatingWindow();
@@ -52,7 +52,7 @@ PopupWindowControllerImpl::PopupWindowControllerImpl()
 {
 }
 
-PopupWindowControllerImpl::~PopupWindowControllerImpl()
+PopupWindowControllerImpl::~PopupWindowControllerImpl() COVERITY_NOEXCEPT_FALSE
 {
     SetPopupWindow(nullptr,nullptr);
     SetFloatingWindow();
diff --git a/sw/inc/calc.hxx b/sw/inc/calc.hxx
index 94d2643a547f..56241deed94b 100644
--- a/sw/inc/calc.hxx
+++ b/sw/inc/calc.hxx
@@ -216,8 +216,8 @@ class SwCalc
     SwCalc& operator=( const SwCalc& ) = delete;
 
 public:
-        SwCalc( SwDoc& rD );
-        ~SwCalc();
+    SwCalc(SwDoc& rD);
+    ~SwCalc() COVERITY_NOEXCEPT_FALSE;
 
     SwSbxValue  Calculate( const OUString &rStr );
     OUString    GetStrResult( const SwSbxValue& rValue );
diff --git a/sw/inc/docfac.hxx b/sw/inc/docfac.hxx
index 4fa978e75963..01bf092f2ee8 100644
--- a/sw/inc/docfac.hxx
+++ b/sw/inc/docfac.hxx
@@ -30,7 +30,7 @@ protected:
 
 public:
     SwDocFac( SwDoc *pDoc = nullptr );
-    ~SwDocFac();
+    ~SwDocFac() COVERITY_NOEXCEPT_FALSE;
 
     /// Document is created after calling Read(...).
     SwDoc*  GetDoc();
diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index 0636dbfd5007..6bb104a168ca 100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -55,6 +55,7 @@
 #include <com/sun/star/text/XFlatParagraphIteratorProvider.hpp>
 #include <com/sun/star/document/XDocumentLanguages.hpp>
 #include <com/sun/star/util/XCloneable.hpp>
+#include <o3tl/deleter.hxx>
 #include <rtl/ref.hxx>
 #include <svx/fmdmod.hxx>
 #include <editeng/UnoForbiddenCharsTable.hxx>
@@ -133,7 +134,7 @@ private:
     class Impl;
     ::sw::UnoImplPtr<Impl> m_pImpl;
 
-    std::deque<std::unique_ptr<UnoActionContext>> maActionArr;
+    std::deque<std::unique_ptr<UnoActionContext, o3tl::default_delete<UnoActionContext>>> maActionArr;
 
     const SfxItemPropertySet* pPropSet;
 
diff --git a/sw/source/core/bastyp/calc.cxx b/sw/source/core/bastyp/calc.cxx
index 770dffbf47c8..a7edab8c1452 100644
--- a/sw/source/core/bastyp/calc.cxx
+++ b/sw/source/core/bastyp/calc.cxx
@@ -335,7 +335,7 @@ SwCalc::SwCalc( SwDoc& rD )
 
 } // SwCalc::SwCalc
 
-SwCalc::~SwCalc()
+SwCalc::~SwCalc() COVERITY_NOEXCEPT_FALSE
 {
     if( m_pLocaleDataWrapper != m_aSysLocale.GetLocaleDataPtr() )
         delete m_pLocaleDataWrapper;
diff --git a/sw/source/core/doc/DocumentFieldsManager.cxx b/sw/source/core/doc/DocumentFieldsManager.cxx
index 74d2c41b0fd4..d1e5f78af255 100644
--- a/sw/source/core/doc/DocumentFieldsManager.cxx
+++ b/sw/source/core/doc/DocumentFieldsManager.cxx
@@ -50,6 +50,7 @@
 #include <usrfld.hxx>
 #include <ndindex.hxx>
 #include <pam.hxx>
+#include <o3tl/deleter.hxx>
 #include <unotools/transliterationwrapper.hxx>
 #include <com/sun/star/uno/Any.hxx>
 
@@ -670,7 +671,7 @@ void DocumentFieldsManager::UpdateTableFields( SfxPoolItem* pHt )
                 TBL_CALC != static_cast<SwTableFormulaUpdate*>(pHt)->m_eFlags ))
         return ;
 
-    std::unique_ptr<SwCalc> pCalc;
+    std::unique_ptr<SwCalc, o3tl::default_delete<SwCalc>> pCalc;
 
     if( pFieldType )
     {
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx
index 38409de14e0d..9594b91ab536 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -1179,7 +1179,7 @@ void SwContentFrame::MakeAll(vcl::RenderContext* /*pRenderContext*/)
     PROTOCOL_ENTER( this, PROT::MakeAll, DbgAction::NONE, nullptr )
 
     // takes care of the notification in the dtor
-    std::unique_ptr<SwContentNotify> pNotify(new SwContentNotify( this ));
+    std::unique_ptr<SwContentNotify, o3tl::default_delete<SwContentNotify>> pNotify(new SwContentNotify( this ));
 
     // as long as bMakePage is true, a new page can be created (exactly once)
     bool bMakePage = true;
diff --git a/sw/source/filter/basflt/docfact.cxx b/sw/source/filter/basflt/docfact.cxx
index a7269de0a9cb..d8c3272b9245 100644
--- a/sw/source/filter/basflt/docfact.cxx
+++ b/sw/source/filter/basflt/docfact.cxx
@@ -30,7 +30,7 @@ SwDocFac::SwDocFac( SwDoc *pDc )
 }
 
 
-SwDocFac::~SwDocFac()
+SwDocFac::~SwDocFac() COVERITY_NOEXCEPT_FALSE
 {
 }
 
diff --git a/sw/source/uibase/inc/edtwin.hxx b/sw/source/uibase/inc/edtwin.hxx
index c2884540f352..bee952662082 100644
--- a/sw/source/uibase/inc/edtwin.hxx
+++ b/sw/source/uibase/inc/edtwin.hxx
@@ -19,6 +19,7 @@
 #ifndef INCLUDED_SW_SOURCE_UIBASE_INC_EDTWIN_HXX
 #define INCLUDED_SW_SOURCE_UIBASE_INC_EDTWIN_HXX
 
+#include <o3tl/deleter.hxx>
 #include <sot/exchange.hxx>
 #include <svx/svdobj.hxx>
 #include <tools/link.hxx>
@@ -90,7 +91,7 @@ class SwEditWin final : public vcl::Window,
 
     std::unique_ptr<SdrDropMarkerOverlay> m_pUserMarker;
     SdrObject               *m_pUserMarkerObj;
-    std::unique_ptr<SwShadowCursor>       m_pShadCursor;
+    std::unique_ptr<SwShadowCursor, o3tl::default_delete<SwShadowCursor>> m_pShadCursor;
     boost::optional<Point>                m_xRowColumnSelectionStart; // save position where table row/column selection has been started
 
     SwView         &m_rView;


More information about the Libreoffice-commits mailing list