diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-01-11 09:48:18 +0200 |
---|---|---|
committer | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2017-11-28 00:12:47 -0500 |
commit | fb68934e81bebdf1580d0fad25fad8912eaf3450 (patch) | |
tree | 6ba50fb204bb5886206166faeee83e70269ea4d0 /vcl | |
parent | 6745d54310086802a1e0b64d20ddfbf11819f636 (diff) |
new loplugin: useuniqueptr: vcl
Reviewed-on: https://gerrit.libreoffice.org/32948
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit e8b49f09074fe184374bee5062715357427ae044)
Change-Id: Idcbc8655108ff57c06c33bbcabd652387bf3c4ec
Diffstat (limited to 'vcl')
36 files changed, 85 insertions, 124 deletions
diff --git a/vcl/headless/svpglyphcache.cxx b/vcl/headless/svpglyphcache.cxx index 087fb7c4864b..cff68e31f337 100644 --- a/vcl/headless/svpglyphcache.cxx +++ b/vcl/headless/svpglyphcache.cxx @@ -33,15 +33,15 @@ namespace struct GlyphCacheHolder { private: - GlyphCache* m_pSvpGlyphCache; + std::unique_ptr<GlyphCache> m_pSvpGlyphCache; GlyphCacheHolder(const GlyphCacheHolder&) = delete; GlyphCacheHolder& operator=(const GlyphCacheHolder&) = delete; public: GlyphCacheHolder() + : m_pSvpGlyphCache( new GlyphCache ) { - m_pSvpGlyphCache = new GlyphCache; } GlyphCache& getGlyphCache() { @@ -49,7 +49,6 @@ namespace } ~GlyphCacheHolder() { - delete m_pSvpGlyphCache; } }; diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx index 39ad72737a33..cb520e4b4c59 100644 --- a/vcl/headless/svpinst.cxx +++ b/vcl/headless/svpinst.cxx @@ -234,7 +234,7 @@ bool SvpSalInstance::CheckTimeout( bool bExecuteTimers ) m_aTimeout = aTimeOfDay; m_aTimeout += m_nTimeoutMS; - osl::Guard< comphelper::SolarMutex > aGuard( mpSalYieldMutex ); + osl::Guard< comphelper::SolarMutex > aGuard( mpSalYieldMutex.get() ); // notify ImplSVData* pSVData = ImplGetSVData(); diff --git a/vcl/inc/controldata.hxx b/vcl/inc/controldata.hxx index b4028026c49e..5554afc951dd 100644 --- a/vcl/inc/controldata.hxx +++ b/vcl/inc/controldata.hxx @@ -26,7 +26,7 @@ namespace vcl { struct ImplControlData { - mutable ControlLayoutData* mpLayoutData; + mutable std::unique_ptr<ControlLayoutData> mpLayoutData; VclPtr<OutputDevice> mpReferenceDevice; ImplControlData() @@ -37,7 +37,6 @@ namespace vcl ~ImplControlData() { - delete mpLayoutData; } }; diff --git a/vcl/inc/impbmp.hxx b/vcl/inc/impbmp.hxx index 4d365a7cb5c2..dd607fccc2f6 100644 --- a/vcl/inc/impbmp.hxx +++ b/vcl/inc/impbmp.hxx @@ -37,7 +37,8 @@ class Bitmap; class ImpBitmap { private: - SalBitmap* mpSalBitmap; + std::unique_ptr<SalBitmap> + mpSalBitmap; public: ImpBitmap(); @@ -49,7 +50,7 @@ public: bool ImplIsEqual(const ImpBitmap& rBmp) const; - SalBitmap* ImplGetSalBitmap() const { return mpSalBitmap; } + SalBitmap* ImplGetSalBitmap() const { return mpSalBitmap.get(); } bool ImplCreate( const Size& rSize, sal_uInt16 nBitCount, const BitmapPalette& rPal ); bool ImplCreate( const ImpBitmap& rImpBitmap ); diff --git a/vcl/inc/opengl/x11/salvd.hxx b/vcl/inc/opengl/x11/salvd.hxx index d8e6d6a9a1a5..ea4f5c8f5d1b 100644 --- a/vcl/inc/opengl/x11/salvd.hxx +++ b/vcl/inc/opengl/x11/salvd.hxx @@ -23,7 +23,8 @@ class X11SalGraphics; class X11OpenGLSalVirtualDevice : public SalVirtualDevice { SalDisplay *mpDisplay; - X11SalGraphics *mpGraphics; + std::unique_ptr<X11SalGraphics> + mpGraphics; bool mbGraphics; // is Graphics used SalX11Screen mnXScreen; int mnWidth; diff --git a/vcl/inc/unx/geninst.h b/vcl/inc/unx/geninst.h index 060f751a430f..b540e9adb268 100644 --- a/vcl/inc/unx/geninst.h +++ b/vcl/inc/unx/geninst.h @@ -75,7 +75,7 @@ class VCL_DLLPUBLIC SalGenericInstance : public SalInstance { protected: bool mbPrinterInit; - SalYieldMutex *mpSalYieldMutex; + std::unique_ptr<SalYieldMutex> mpSalYieldMutex; public: SalGenericInstance( SalYieldMutex* pMutex ) diff --git a/vcl/opengl/x11/salvd.cxx b/vcl/opengl/x11/salvd.cxx index ff0a2c3332e6..17edbf6cce22 100644 --- a/vcl/opengl/x11/salvd.cxx +++ b/vcl/opengl/x11/salvd.cxx @@ -69,7 +69,6 @@ X11OpenGLSalVirtualDevice::X11OpenGLSalVirtualDevice( SalGraphics* pGraphics, X11OpenGLSalVirtualDevice::~X11OpenGLSalVirtualDevice() { - delete mpGraphics; } SalGraphics* X11OpenGLSalVirtualDevice::AcquireGraphics() @@ -80,7 +79,7 @@ SalGraphics* X11OpenGLSalVirtualDevice::AcquireGraphics() if( mpGraphics ) mbGraphics = true; - return mpGraphics; + return mpGraphics.get(); } void X11OpenGLSalVirtualDevice::ReleaseGraphics( SalGraphics* ) diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx index 6c46e52137e0..5968724dbac9 100644 --- a/vcl/source/control/button.cxx +++ b/vcl/source/control/button.cxx @@ -1353,7 +1353,7 @@ void PushButton::KeyUp( const KeyEvent& rKEvt ) void PushButton::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); const_cast<PushButton*>(this)->Invalidate(); } @@ -2422,7 +2422,7 @@ void RadioButton::KeyUp( const KeyEvent& rKEvt ) void RadioButton::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); const_cast<RadioButton*>(this)->Invalidate(); } @@ -3286,7 +3286,7 @@ void CheckBox::KeyUp( const KeyEvent& rKEvt ) void CheckBox::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); const_cast<CheckBox*>(this)->Invalidate(); } diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx index 398fff47a972..1856ff4eac2f 100644 --- a/vcl/source/control/combobox.cxx +++ b/vcl/source/control/combobox.cxx @@ -588,7 +588,7 @@ bool ComboBox::IsDropDownBox() const { return m_pImpl->m_pFloatWin != nullptr; } void ComboBox::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); AppendLayoutData( *m_pImpl->m_pSubEdit ); m_pImpl->m_pSubEdit->SetLayoutDataParent( this ); ImplListBoxWindow* rMainWindow = m_pImpl->m_pImplLB->GetMainWindow(); diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx index bab54bbf8711..850b1ccf77ed 100644 --- a/vcl/source/control/ctrl.cxx +++ b/vcl/source/control/ctrl.cxx @@ -87,7 +87,7 @@ void Control::FillLayoutData() const void Control::CreateLayoutData() const { SAL_WARN_IF( mpControlData->mpLayoutData, "vcl", "Control::CreateLayoutData: should be called with non-existent layout data only!" ); - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); } bool Control::HasLayoutData() const @@ -325,11 +325,7 @@ void Control::SetLayoutDataParent( const Control* pParent ) const void Control::ImplClearLayoutData() const { - if (mpControlData) - { - delete mpControlData->mpLayoutData; - mpControlData->mpLayoutData = nullptr; - } + mpControlData->mpLayoutData.reset(); } void Control::ImplDrawFrame( OutputDevice* pDev, Rectangle& rRect ) diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx index fe7f6f976ffc..414e33f80505 100644 --- a/vcl/source/control/edit.cxx +++ b/vcl/source/control/edit.cxx @@ -113,7 +113,8 @@ struct DDInfo struct Impl_IMEInfos { OUString aOldTextAfterStartPos; - ExtTextInputAttr* pAttribs; + std::unique_ptr<ExtTextInputAttr[]> + pAttribs; sal_Int32 nPos; sal_Int32 nLen; bool bCursor; @@ -138,21 +139,18 @@ Impl_IMEInfos::Impl_IMEInfos(sal_Int32 nP, const OUString& rOldTextAfterStartPos Impl_IMEInfos::~Impl_IMEInfos() { - delete[] pAttribs; } void Impl_IMEInfos::CopyAttribs(const ExtTextInputAttr* pA, sal_Int32 nL) { nLen = nL; - delete[] pAttribs; - pAttribs = new ExtTextInputAttr[ nL ]; - memcpy( pAttribs, pA, nL*sizeof(ExtTextInputAttr) ); + pAttribs.reset(new ExtTextInputAttr[ nL ]); + memcpy( pAttribs.get(), pA, nL*sizeof(ExtTextInputAttr) ); } void Impl_IMEInfos::DestroyAttribs() { - delete[] pAttribs; - pAttribs = nullptr; + pAttribs.reset(); nLen = 0; } @@ -1717,7 +1715,7 @@ void Edit::KeyInput( const KeyEvent& rKEvt ) void Edit::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); const_cast<Edit*>(this)->Invalidate(); } diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx index ea91c0ef5d2d..308cd43161c1 100644 --- a/vcl/source/control/field.cxx +++ b/vcl/source/control/field.cxx @@ -379,14 +379,13 @@ FormatterBase::FormatterBase() FormatterBase::~FormatterBase() { - delete mpLocaleDataWrapper; } LocaleDataWrapper& FormatterBase::ImplGetLocaleDataWrapper() const { if ( !mpLocaleDataWrapper ) { - const_cast<FormatterBase*>(this)->mpLocaleDataWrapper = new LocaleDataWrapper( GetLanguageTag() ); + const_cast<FormatterBase*>(this)->mpLocaleDataWrapper.reset( new LocaleDataWrapper( GetLanguageTag() ) ); } return *mpLocaleDataWrapper; } diff --git a/vcl/source/control/fixed.cxx b/vcl/source/control/fixed.cxx index 24c935b844c2..46d1299d93a8 100644 --- a/vcl/source/control/fixed.cxx +++ b/vcl/source/control/fixed.cxx @@ -370,7 +370,7 @@ Size FixedText::GetOptimalSize() const void FixedText::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); ImplDraw(const_cast<FixedText*>(this), DrawFlags::NONE, Point(), GetOutputSizePixel(), true); //const_cast<FixedText*>(this)->Invalidate(); } @@ -575,7 +575,7 @@ FixedLine::FixedLine( vcl::Window* pParent, WinBits nStyle ) : void FixedLine::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); const_cast<FixedLine*>(this)->Invalidate(); } diff --git a/vcl/source/control/group.cxx b/vcl/source/control/group.cxx index 680362a7c9ba..68cd7030463c 100644 --- a/vcl/source/control/group.cxx +++ b/vcl/source/control/group.cxx @@ -184,7 +184,7 @@ void GroupBox::ImplDraw( OutputDevice* pDev, DrawFlags nDrawFlags, void GroupBox::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); const_cast<GroupBox*>(this)->ImplDraw( const_cast<GroupBox*>(this), DrawFlags::NONE, Point(), GetOutputSizePixel(), true ); } diff --git a/vcl/source/control/imp_listbox.cxx b/vcl/source/control/imp_listbox.cxx index f957c451a02d..608b9faf5cb7 100644 --- a/vcl/source/control/imp_listbox.cxx +++ b/vcl/source/control/imp_listbox.cxx @@ -1851,7 +1851,7 @@ void ImplListBoxWindow::DrawEntry(vcl::RenderContext& rRenderContext, sal_Int32 void ImplListBoxWindow::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); const_cast<ImplListBoxWindow*>(this)->Invalidate(Rectangle(Point(0, 0), GetOutputSize())); } @@ -2585,7 +2585,7 @@ void ImplWin::MouseButtonDown( const MouseEvent& ) void ImplWin::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); ImplWin* pThis = const_cast<ImplWin*>(this); pThis->ImplDraw(*pThis, true); } diff --git a/vcl/source/control/listbox.cxx b/vcl/source/control/listbox.cxx index d8f882bbf94a..d80f518e0efb 100644 --- a/vcl/source/control/listbox.cxx +++ b/vcl/source/control/listbox.cxx @@ -642,7 +642,7 @@ void ListBox::Resize() void ListBox::FillLayoutData() const { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); const ImplListBoxWindow* rMainWin = mpImplLB->GetMainWindow(); if( mpFloatWin ) { diff --git a/vcl/source/control/notebookbar.cxx b/vcl/source/control/notebookbar.cxx index 2ff1c3ec69c1..8bf8658d398c 100644 --- a/vcl/source/control/notebookbar.cxx +++ b/vcl/source/control/notebookbar.cxx @@ -37,7 +37,7 @@ NotebookBar::NotebookBar(Window* pParent, const OString& rID, const OUString& rU : Control(pParent), m_pEventListener(new NotebookBarContextChangeEventListener(this)) { SetStyle(GetStyle() | WB_DIALOGCONTROL); - m_pUIBuilder = new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID, rFrame); + m_pUIBuilder.reset( new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID, rFrame) ); // In the Notebookbar's .ui file must exist control handling context // - implementing NotebookbarContextControl interface with id "ContextContainer" diff --git a/vcl/source/control/spinfld.cxx b/vcl/source/control/spinfld.cxx index 395b0c214db4..2334e9d6e934 100644 --- a/vcl/source/control/spinfld.cxx +++ b/vcl/source/control/spinfld.cxx @@ -576,7 +576,7 @@ void SpinField::FillLayoutData() const { if (mbSpin) { - mpControlData->mpLayoutData = new vcl::ControlLayoutData(); + mpControlData->mpLayoutData.reset( new vcl::ControlLayoutData ); AppendLayoutData(*GetSubEdit()); GetSubEdit()->SetLayoutDataParent(this); } diff --git a/vcl/source/edit/textdata.cxx b/vcl/source/edit/textdata.cxx index 5a3b15c3ceaf..4b3f76b0a1b8 100644 --- a/vcl/source/edit/textdata.cxx +++ b/vcl/source/edit/textdata.cxx @@ -331,21 +331,18 @@ TEIMEInfos::TEIMEInfos( const TextPaM& rPos, const OUString& rOldTextAfterStartP TEIMEInfos::~TEIMEInfos() { - delete[] pAttribs; } void TEIMEInfos::CopyAttribs(const ExtTextInputAttr* pA, sal_Int32 nL) { nLen = nL; - delete[] pAttribs; - pAttribs = new ExtTextInputAttr[ nL ]; - memcpy( pAttribs, pA, nL*sizeof(ExtTextInputAttr) ); + pAttribs.reset( new ExtTextInputAttr[ nL ] ); + memcpy( pAttribs.get(), pA, nL*sizeof(ExtTextInputAttr) ); } void TEIMEInfos::DestroyAttribs() { - delete[] pAttribs; - pAttribs = nullptr; + pAttribs.reset(); nLen = 0; } diff --git a/vcl/source/edit/textdoc.cxx b/vcl/source/edit/textdoc.cxx index c54e1358c1b8..aacd1d21cc75 100644 --- a/vcl/source/edit/textdoc.cxx +++ b/vcl/source/edit/textdoc.cxx @@ -29,21 +29,20 @@ static bool CompareStart( const std::unique_ptr<TextCharAttrib>& pFirst, const s TextCharAttrib::TextCharAttrib( const TextAttrib& rAttr, sal_Int32 nStart, sal_Int32 nEnd ) { - mpAttr = rAttr.Clone(); + mpAttr.reset( rAttr.Clone() ); mnStart = nStart; mnEnd = nEnd; } TextCharAttrib::TextCharAttrib( const TextCharAttrib& rTextCharAttrib ) { - mpAttr = rTextCharAttrib.GetAttr().Clone(); + mpAttr.reset( rTextCharAttrib.GetAttr().Clone() ); mnStart = rTextCharAttrib.mnStart; mnEnd = rTextCharAttrib.mnEnd; } TextCharAttrib::~TextCharAttrib() { - delete mpAttr; } TextCharAttribList::TextCharAttribList() diff --git a/vcl/source/filter/ixbm/xbmread.cxx b/vcl/source/filter/ixbm/xbmread.cxx index 84555f469ddc..6c6438eb88fc 100644 --- a/vcl/source/filter/ixbm/xbmread.cxx +++ b/vcl/source/filter/ixbm/xbmread.cxx @@ -39,7 +39,8 @@ class XBMReader : public GraphicReader SvStream& rIStm; Bitmap aBmp1; Bitmap::ScopedWriteAccess pAcc1; - short* pHexTable; + std::unique_ptr<short[]> + pHexTable; BitmapColor aWhite; BitmapColor aBlack; long nLastPos; @@ -55,7 +56,6 @@ class XBMReader : public GraphicReader public: explicit XBMReader( SvStream& rStm ); - virtual ~XBMReader() override; ReadState ReadXBM( Graphic& rGraphic ); }; @@ -67,19 +67,14 @@ XBMReader::XBMReader( SvStream& rStm ) : nHeight ( 0 ), bStatus ( true ) { - pHexTable = new short[ 256 ]; + pHexTable.reset( new short[ 256 ] ); maUpperName = "SVIXBM"; InitTable(); } -XBMReader::~XBMReader() -{ - delete[] pHexTable; -} - void XBMReader::InitTable() { - memset( pHexTable, 0, sizeof( short ) * 256 ); + memset( pHexTable.get(), 0, sizeof( short ) * 256 ); pHexTable[(int)'0'] = 0; pHexTable[(int)'1'] = 1; diff --git a/vcl/source/gdi/impbmp.cxx b/vcl/source/gdi/impbmp.cxx index ab06a712d0e1..13386856ac12 100644 --- a/vcl/source/gdi/impbmp.cxx +++ b/vcl/source/gdi/impbmp.cxx @@ -36,7 +36,6 @@ ImpBitmap::ImpBitmap(SalBitmap* pBitmap) ImpBitmap::~ImpBitmap() { - delete mpSalBitmap; } bool ImpBitmap::ImplIsEqual(const ImpBitmap& rBmp) const diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx index 277370009f28..a1dfcf7e8e18 100644 --- a/vcl/source/gdi/impgraph.cxx +++ b/vcl/source/gdi/impgraph.cxx @@ -68,9 +68,12 @@ public: Size maPreviewSize; }; +GraphicReader::GraphicReader() +{ +} + GraphicReader::~GraphicReader() { - delete mpReaderData; } void GraphicReader::DisablePreviewMode() @@ -82,7 +85,7 @@ void GraphicReader::DisablePreviewMode() void GraphicReader::SetPreviewSize( const Size& rSize ) { if( !mpReaderData ) - mpReaderData = new ReaderData; + mpReaderData.reset( new ReaderData ); mpReaderData->maPreviewSize = rSize; } diff --git a/vcl/source/gdi/impvect.cxx b/vcl/source/gdi/impvect.cxx index 50fdf6f76830..4a8f4f423341 100644 --- a/vcl/source/gdi/impvect.cxx +++ b/vcl/source/gdi/impvect.cxx @@ -268,7 +268,8 @@ private: Point maStartPt; sal_uLong mnArraySize; sal_uLong mnCount; - sal_uInt8* mpCodes; + std::unique_ptr<sal_uInt8[]> + mpCodes; void ImplGetSpace(); @@ -293,12 +294,11 @@ ImplChain::ImplChain() : mnArraySize ( 1024UL ), mnCount ( 0UL ) { - mpCodes = new sal_uInt8[ mnArraySize ]; + mpCodes.reset( new sal_uInt8[ mnArraySize ] ); } ImplChain::~ImplChain() { - delete[] mpCodes; } void ImplChain::ImplGetSpace() @@ -308,9 +308,8 @@ void ImplChain::ImplGetSpace() mnArraySize = mnArraySize << 1UL; pNewCodes = new sal_uInt8[ mnArraySize ]; - memcpy( pNewCodes, mpCodes, nOldArraySize ); - delete[] mpCodes; - mpCodes = pNewCodes; + memcpy( pNewCodes, mpCodes.get(), nOldArraySize ); + mpCodes.reset( pNewCodes ); } void ImplChain::ImplBeginAdd( const Point& rStartPt ) diff --git a/vcl/source/gdi/metaact.cxx b/vcl/source/gdi/metaact.cxx index b8169cdb2553..3ef9692b106a 100644 --- a/vcl/source/gdi/metaact.cxx +++ b/vcl/source/gdi/metaact.cxx @@ -1092,13 +1092,9 @@ MetaTextArrayAction::MetaTextArrayAction( const MetaTextArrayAction& rAction ) : { if( rAction.mpDXAry ) { - const sal_Int32 nAryLen = mnLen; - - mpDXAry = new long[ nAryLen ]; - memcpy( mpDXAry, rAction.mpDXAry, nAryLen * sizeof( long ) ); + mpDXAry.reset( new long[ mnLen ] ); + memcpy( mpDXAry.get(), rAction.mpDXAry.get(), mnLen * sizeof( long ) ); } - else - mpDXAry = nullptr; } MetaTextArrayAction::MetaTextArrayAction( const Point& rStartPt, @@ -1116,21 +1112,18 @@ MetaTextArrayAction::MetaTextArrayAction( const Point& rStartPt, if (nAryLen > 0) { - mpDXAry = new long[ nAryLen ]; - memcpy( mpDXAry, pDXAry, nAryLen * sizeof(long) ); + mpDXAry.reset( new long[ nAryLen ] ); + memcpy( mpDXAry.get(), pDXAry, nAryLen * sizeof(long) ); } - else - mpDXAry = nullptr; } MetaTextArrayAction::~MetaTextArrayAction() { - delete[] mpDXAry; } void MetaTextArrayAction::Execute( OutputDevice* pOut ) { - pOut->DrawTextArray( maStartPt, maStr, mpDXAry, mnIndex, mnLen ); + pOut->DrawTextArray( maStartPt, maStr, mpDXAry.get(), mnIndex, mnLen ); } MetaAction* MetaTextArrayAction::Clone() @@ -1176,7 +1169,7 @@ void MetaTextArrayAction::Write( SvStream& rOStm, ImplMetaWriteData* pData ) void MetaTextArrayAction::Read( SvStream& rIStm, ImplMetaReadData* pData ) { - delete[] mpDXAry; + mpDXAry.reset(); VersionCompat aCompat(rIStm, StreamMode::READ); ReadPair( rIStm, maStartPt ); @@ -1202,7 +1195,7 @@ void MetaTextArrayAction::Read( SvStream& rIStm, ImplMetaReadData* pData ) // #i9762#, #106172# Ensure that DX array is at least mnLen entries long if ( mnLen >= nAryLen ) { - mpDXAry = new (std::nothrow)long[ mnLen ]; + mpDXAry.reset( new (std::nothrow)long[ mnLen ] ); if ( mpDXAry ) { sal_Int32 i; @@ -1233,8 +1226,7 @@ void MetaTextArrayAction::Read( SvStream& rIStm, ImplMetaReadData* pData ) if ( mnIndex + mnLen > maStr.getLength() ) { mnIndex = 0; - delete[] mpDXAry; - mpDXAry = nullptr; + mpDXAry.reset(); } } } diff --git a/vcl/source/gdi/oldprintadaptor.cxx b/vcl/source/gdi/oldprintadaptor.cxx index 1f354febbd25..93bc795e315a 100644 --- a/vcl/source/gdi/oldprintadaptor.cxx +++ b/vcl/source/gdi/oldprintadaptor.cxx @@ -52,7 +52,6 @@ OldStylePrintAdaptor::OldStylePrintAdaptor( const VclPtr< Printer >& i_xPrinter OldStylePrintAdaptor::~OldStylePrintAdaptor() { - delete mpData; } void OldStylePrintAdaptor::StartPage() diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx index b9de9928cc76..05c11e4a3467 100644 --- a/vcl/source/gdi/print3.cxx +++ b/vcl/source/gdi/print3.cxx @@ -757,7 +757,6 @@ bool Printer::StartJob( const OUString& i_rJobName, std::shared_ptr<vcl::Printer PrinterController::~PrinterController() { - delete mpImplData; } css::view::PrintableState PrinterController::getJobState() const diff --git a/vcl/source/window/commandevent.cxx b/vcl/source/window/commandevent.cxx index a07086a3e8cb..7946f561ff73 100644 --- a/vcl/source/window/commandevent.cxx +++ b/vcl/source/window/commandevent.cxx @@ -28,12 +28,8 @@ CommandExtTextInputData::CommandExtTextInputData( const OUString& rText, { if ( pTextAttr && !maText.isEmpty() ) { - mpTextAttr = new ExtTextInputAttr[maText.getLength()]; - memcpy( mpTextAttr, pTextAttr, maText.getLength()*sizeof(ExtTextInputAttr) ); - } - else - { - mpTextAttr = nullptr; + mpTextAttr.reset( new ExtTextInputAttr[maText.getLength()] ); + memcpy( mpTextAttr.get(), pTextAttr, maText.getLength()*sizeof(ExtTextInputAttr) ); } mnCursorPos = nCursorPos; @@ -46,12 +42,8 @@ CommandExtTextInputData::CommandExtTextInputData( const CommandExtTextInputData& { if ( rData.mpTextAttr && !maText.isEmpty() ) { - mpTextAttr = new ExtTextInputAttr[maText.getLength()]; - memcpy( mpTextAttr, rData.mpTextAttr, maText.getLength()*sizeof(ExtTextInputAttr) ); - } - else - { - mpTextAttr = nullptr; + mpTextAttr.reset( new ExtTextInputAttr[maText.getLength()] ); + memcpy( mpTextAttr.get(), rData.mpTextAttr.get(), maText.getLength()*sizeof(ExtTextInputAttr) ); } mnCursorPos = rData.mnCursorPos; @@ -61,7 +53,6 @@ CommandExtTextInputData::CommandExtTextInputData( const CommandExtTextInputData& CommandExtTextInputData::~CommandExtTextInputData() { - delete [] mpTextAttr; } CommandInputContextData::CommandInputContextData( LanguageType eLang ) diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx index bff1f27a9613..7ec1df400e3a 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -1205,7 +1205,6 @@ VclBuilderContainer::VclBuilderContainer() VclBuilderContainer::~VclBuilderContainer() { - delete m_pUIBuilder; } ModelessDialog::ModelessDialog(vcl::Window* pParent, const OUString& rID, const OUString& rUIXMLDescription, InitFlag eFlag) diff --git a/vcl/source/window/dockwin.cxx b/vcl/source/window/dockwin.cxx index 7d3ba8b361f5..c961391d692b 100644 --- a/vcl/source/window/dockwin.cxx +++ b/vcl/source/window/dockwin.cxx @@ -375,7 +375,7 @@ void DockingWindow::loadUI(vcl::Window* pParent, const OString& rID, const OUStr { mbIsDefferedInit = true; mpDialogParent = pParent; //should be unset in doDeferredInit - m_pUIBuilder = new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID, rFrame); + m_pUIBuilder.reset( new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID, rFrame) ); } DockingWindow::DockingWindow(vcl::Window* pParent, const OString& rID, diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx index 04e150dd0043..02317ac90e00 100644 --- a/vcl/source/window/printdlg.cxx +++ b/vcl/source/window/printdlg.cxx @@ -568,9 +568,9 @@ PrintDialog::PrintDialog( vcl::Window* i_pParent, const std::shared_ptr<PrinterC : ModalDialog(i_pParent, "PrintDialog", "vcl/ui/printdialog.ui") , mpCustomOptionsUIBuilder(nullptr) , maPController( i_rController ) - , maNUpPage(m_pUIBuilder) - , maJobPage(m_pUIBuilder) - , maOptionsPage(m_pUIBuilder) + , maNUpPage(m_pUIBuilder.get()) + , maJobPage(m_pUIBuilder.get()) + , maOptionsPage(m_pUIBuilder.get()) , maNoPageStr( VclResId( SV_PRINT_NOPAGES ).toString() ) , mnCurPage( 0 ) , mnCachedPages( 0 ) diff --git a/vcl/source/window/syswin.cxx b/vcl/source/window/syswin.cxx index dfa23f06a09c..6c6d931cc00f 100644 --- a/vcl/source/window/syswin.cxx +++ b/vcl/source/window/syswin.cxx @@ -51,7 +51,8 @@ public: ImplData(); ~ImplData(); - TaskPaneList* mpTaskPaneList; + std::unique_ptr<TaskPaneList> + mpTaskPaneList; Size maMaxOutSize; OUString maRepresentedURL; Link<SystemWindow&,void> maCloseHdl; @@ -65,7 +66,6 @@ SystemWindow::ImplData::ImplData() SystemWindow::ImplData::~ImplData() { - delete mpTaskPaneList; } SystemWindow::SystemWindow(WindowType nType) @@ -95,7 +95,7 @@ void SystemWindow::loadUI(vcl::Window* pParent, const OString& rID, const OUStri { mbIsDefferedInit = true; mpDialogParent = pParent; //should be unset in doDeferredInit - m_pUIBuilder = new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID, rFrame); + m_pUIBuilder.reset( new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID, rFrame) ); } SystemWindow::~SystemWindow() @@ -220,12 +220,12 @@ bool SystemWindow::PreNotify( NotifyEvent& rNEvt ) } else { - TaskPaneList *pTList = mpImplData->mpTaskPaneList; + TaskPaneList *pTList = mpImplData->mpTaskPaneList.get(); if( !pTList && ( GetType() == WINDOW_FLOATINGWINDOW ) ) { vcl::Window* pWin = ImplGetFrameWindow()->ImplGetWindow(); if( pWin && pWin->IsSystemWindow() ) - pTList = static_cast<SystemWindow*>(pWin)->mpImplData->mpTaskPaneList; + pTList = static_cast<SystemWindow*>(pWin)->mpImplData->mpTaskPaneList.get(); } if( !pTList ) { @@ -238,7 +238,7 @@ bool SystemWindow::PreNotify( NotifyEvent& rNEvt ) if( pWin && pWin->IsSystemWindow() ) pSysWin = static_cast<SystemWindow*>(pWin); } - pTList = pSysWin->mpImplData->mpTaskPaneList; + pTList = pSysWin->mpImplData->mpTaskPaneList.get(); } if( pTList && pTList->HandleKeyEvent( *rNEvt.GetKeyEvent() ) ) return true; @@ -252,10 +252,10 @@ TaskPaneList* SystemWindow::GetTaskPaneList() if( !mpImplData ) return nullptr; if( mpImplData->mpTaskPaneList ) - return mpImplData->mpTaskPaneList ; + return mpImplData->mpTaskPaneList.get(); else { - mpImplData->mpTaskPaneList = new TaskPaneList(); + mpImplData->mpTaskPaneList.reset( new TaskPaneList ); MenuBar* pMBar = mpMenuBar; if ( !pMBar && ( GetType() == WINDOW_FLOATINGWINDOW ) ) { @@ -265,7 +265,7 @@ TaskPaneList* SystemWindow::GetTaskPaneList() } if( pMBar ) mpImplData->mpTaskPaneList->AddWindow( pMBar->ImplGetWindow() ); - return mpImplData->mpTaskPaneList; + return mpImplData->mpTaskPaneList.get(); } } diff --git a/vcl/source/window/tabpage.cxx b/vcl/source/window/tabpage.cxx index 0576f3af6229..cda47e0ad401 100644 --- a/vcl/source/window/tabpage.cxx +++ b/vcl/source/window/tabpage.cxx @@ -81,7 +81,7 @@ TabPage::TabPage(vcl::Window *pParent, const OString& rID, const OUString& rUIXM , IContext() { ImplInit(pParent, 0); - m_pUIBuilder = new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID); + m_pUIBuilder.reset( new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID) ); set_hexpand(true); set_vexpand(true); set_expand(true); diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx index a8be10972635..0d6219fa82a4 100644 --- a/vcl/source/window/toolbox.cxx +++ b/vcl/source/window/toolbox.cxx @@ -93,7 +93,8 @@ typedef ::std::vector< VclPtr<ToolBox> > ImplTBList; class ImplTBDragMgr { private: - ImplTBList* mpBoxList; + std::unique_ptr<ImplTBList> + mpBoxList; VclPtr<ToolBox> mpDragBox; Point maMouseOff; Rectangle maRect; @@ -1131,7 +1132,6 @@ ImplTBDragMgr::ImplTBDragMgr() ImplTBDragMgr::~ImplTBDragMgr() { - delete mpBoxList; } ToolBox* ImplTBDragMgr::FindToolBox( const Rectangle& rRect ) diff --git a/vcl/unx/generic/app/geninst.cxx b/vcl/unx/generic/app/geninst.cxx index daf54b05879d..29b4c754da84 100644 --- a/vcl/unx/generic/app/geninst.cxx +++ b/vcl/unx/generic/app/geninst.cxx @@ -85,12 +85,12 @@ bool SalYieldMutex::tryToAcquire() comphelper::SolarMutex* SalGenericInstance::GetYieldMutex() { - return mpSalYieldMutex; + return mpSalYieldMutex.get(); } sal_uLong SalGenericInstance::ReleaseYieldMutex() { - SalYieldMutex* pYieldMutex = mpSalYieldMutex; + SalYieldMutex* pYieldMutex = mpSalYieldMutex.get(); if ( pYieldMutex->GetThreadId() == osl::Thread::getCurrentIdentifier() ) { @@ -110,7 +110,7 @@ sal_uLong SalGenericInstance::ReleaseYieldMutex() void SalGenericInstance::AcquireYieldMutex( sal_uLong nCount ) { - SalYieldMutex* pYieldMutex = mpSalYieldMutex; + SalYieldMutex* pYieldMutex = mpSalYieldMutex.get(); while ( nCount ) { pYieldMutex->acquire(); @@ -122,7 +122,7 @@ bool SalGenericInstance::CheckYieldMutex() { bool bRet = true; - SalYieldMutex* pYieldMutex = mpSalYieldMutex; + SalYieldMutex* pYieldMutex = mpSalYieldMutex.get(); if ( pYieldMutex->GetThreadId() != osl::Thread::getCurrentIdentifier() ) { SAL_WARN("vcl", "CheckYieldMutex: " << pYieldMutex->GetThreadId() << "!=" << osl::Thread::getCurrentIdentifier() ); @@ -134,7 +134,6 @@ bool SalGenericInstance::CheckYieldMutex() SalGenericInstance::~SalGenericInstance() { - delete mpSalYieldMutex; } OUString SalGenericInstance::getOSVersion() diff --git a/vcl/unx/generic/printer/printerinfomanager.cxx b/vcl/unx/generic/printer/printerinfomanager.cxx index 05881c8c010f..a8d9e1546514 100644 --- a/vcl/unx/generic/printer/printerinfomanager.cxx +++ b/vcl/unx/generic/printer/printerinfomanager.cxx @@ -112,7 +112,7 @@ PrinterInfoManager::PrinterInfoManager( Type eType ) : m_aSystemDefaultPaper( "A4" ) { if( eType == Type::Default ) - m_pQueueInfo = new SystemQueueInfo(); + m_pQueueInfo.reset( new SystemQueueInfo ); m_aSystemDefaultPaper = OStringToOUString( PaperInfo::toPSName(PaperInfo::getSystemDefaultPaper().getPaper()), @@ -121,7 +121,6 @@ PrinterInfoManager::PrinterInfoManager( Type eType ) : PrinterInfoManager::~PrinterInfoManager() { - delete m_pQueueInfo; #if OSL_DEBUG_LEVEL > 1 fprintf( stderr, "PrinterInfoManager: destroyed Manager of type %d\n", getType() ); #endif @@ -504,8 +503,7 @@ void PrinterInfoManager::initialize() { m_aSystemPrintCommand = m_pQueueInfo->getCommand(); m_pQueueInfo->getSystemQueues( m_aSystemPrintQueues ); - delete m_pQueueInfo; - m_pQueueInfo = nullptr; + m_pQueueInfo.reset(); } for( ::std::list< SystemPrintQueue >::iterator it = m_aSystemPrintQueues.begin(); it != m_aSystemPrintQueues.end(); ++it ) { |