diff options
Diffstat (limited to 'vcl/source')
29 files changed, 83 insertions, 109 deletions
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx index 9e0140e81dd3..486625ba1539 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(); } @@ -3293,7 +3293,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 15b7344966bc..118bad1d8530 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 9016b8661f2e..94af54c85d63 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 e2e17d4ba1a5..a2f700c125ef 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; } @@ -1724,7 +1722,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 4c061fd11fc1..50c83c1b20d8 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 688c7785ecb3..483e136d6976 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 6f6a3eddf77e..806c26f2c034 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 3d523d0ac747..225efd5436e5 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 837c5150d9cc..78d14c593208 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 169b6c30e054..45d4dffdfde2 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 dec9f36b3429..77abfb0c98b5 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 6e66d9e23d20..1e80a1fcb263 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 5689f27b0b96..2fba2a6bc167 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 8891838b7c78..6a88538fb8c0 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 047a207381d8..15de1638f1d2 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 ) { - 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/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index d1987dc3544e..e79752a46c1e 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -2322,8 +2322,7 @@ void PDFWriterImpl::endPage() if( jpeg->m_pStream ) { writeJPG( *jpeg ); - delete jpeg->m_pStream; - jpeg->m_pStream = nullptr; + jpeg->m_pStream.reset(); jpeg->m_aMask = Bitmap(); } } @@ -11223,11 +11222,11 @@ void PDFWriterImpl::drawJPGBitmap( SvStream& rDCTData, bool bIsTrueColor, const ; if( it == m_aJPGs.end() ) { - m_aJPGs.push_front( JPGEmit() ); + m_aJPGs.emplace( m_aJPGs.begin() ); JPGEmit& rEmit = m_aJPGs.front(); rEmit.m_nObject = createObject(); rEmit.m_aID = aID; - rEmit.m_pStream = pStream; + rEmit.m_pStream.reset( pStream ); rEmit.m_bTrueColor = bIsTrueColor; if( !! rMask && rMask.GetSizePixel() == rSizePixel ) rEmit.m_aMask = rMask; @@ -13188,4 +13187,12 @@ void PDFWriterImpl::MARK( const char* pString ) emitComment( pString ); } +PDFWriterImpl::JPGEmit::JPGEmit(PDFWriterImpl::JPGEmit&& rOther) +{ + m_aID = rOther.m_aID; + m_pStream = std::move(rOther.m_pStream); + m_aMask = std::move(rOther.m_aMask); + m_nObject = rOther.m_nObject; + m_bTrueColor = rOther.m_bTrueColor; +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/gdi/pdfwriter_impl.hxx b/vcl/source/gdi/pdfwriter_impl.hxx index e6c28558f742..979571f6e430 100644 --- a/vcl/source/gdi/pdfwriter_impl.hxx +++ b/vcl/source/gdi/pdfwriter_impl.hxx @@ -223,7 +223,8 @@ public: struct JPGEmit { BitmapID m_aID; - SvMemoryStream* m_pStream; + std::unique_ptr<SvMemoryStream> + m_pStream; Bitmap m_aMask; sal_Int32 m_nObject; bool m_bTrueColor; @@ -234,7 +235,8 @@ public: , m_bTrueColor(false) { } - ~JPGEmit() { delete m_pStream; } + JPGEmit(const JPGEmit&) = delete; // to keep MSVC2013 happy + JPGEmit(JPGEmit&&); // to keep MSVC2013 happy }; struct GradientEmit diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx index 196b908d26b1..9417bd197047 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 6a1f140287fd..bb00c312c86b 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 1b789020c6ed..4e0fd974d161 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -1202,7 +1202,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 a36b73577ba4..4c854c00cefb 100644 --- a/vcl/source/window/dockwin.cxx +++ b/vcl/source/window/dockwin.cxx @@ -374,7 +374,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 cdee3a4bb9d8..d0df38d0ed7f 100644 --- a/vcl/source/window/printdlg.cxx +++ b/vcl/source/window/printdlg.cxx @@ -569,9 +569,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 21cdeb38ec54..93ebb94f6347 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) @@ -94,7 +94,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() @@ -219,12 +219,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 ) { @@ -237,7 +237,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; @@ -251,10 +251,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 ) ) { @@ -264,7 +264,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 b1238d2a0c86..49ccf4893c96 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; @@ -1144,7 +1145,6 @@ ImplTBDragMgr::ImplTBDragMgr() ImplTBDragMgr::~ImplTBDragMgr() { - delete mpBoxList; } ToolBox* ImplTBDragMgr::FindToolBox( const Rectangle& rRect ) |