diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-09-21 09:36:59 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-09-21 13:00:13 +0200 |
commit | 8d96717154c0c69e46032c10d7e7ddef297a4668 (patch) | |
tree | 2ca2736bb589e51682664948b604008444d93754 /sc | |
parent | 4a5ed266e64b892dde8a3e36be042e7e9d307eae (diff) |
coverity#1401334 Uncaught exception
Change-Id: I2a74e0bcba46b730067b5baca5e934f95ba265ce
Reviewed-on: https://gerrit.libreoffice.org/60854
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/inc/output.hxx | 6 | ||||
-rw-r--r-- | sc/source/ui/view/output2.cxx | 10 |
2 files changed, 9 insertions, 7 deletions
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) |