compilerplugins/clang/useuniqueptr.cxx | 3 include/package/Deflater.hxx | 3 include/package/Inflater.hxx | 3 include/vcl/popupmenuwindow.hxx | 3 include/vcl/status.hxx | 5 package/inc/zipfileaccess.hxx | 2 package/source/xstor/switchpersistencestream.cxx | 18 +-- package/source/xstor/switchpersistencestream.hxx | 2 package/source/zipapi/Deflater.cxx | 27 ++--- package/source/zipapi/Inflater.cxx | 23 ++-- package/source/zippackage/zipfileaccess.cxx | 5 vcl/inc/scrwnd.hxx | 2 vcl/source/window/popupmenuwindow.cxx | 2 vcl/source/window/scrwnd.cxx | 6 - vcl/source/window/status.cxx | 120 ++++++++++------------- 15 files changed, 104 insertions(+), 120 deletions(-)
New commits: commit 3a35870a72cf6a8e481c70f972b7258b2dd764a9 Author: Noel Grandin <[email protected]> Date: Mon Apr 16 12:30:07 2018 +0200 loplugin:useuniqueptr in StatusBar and rename mpItemList->mvItemList Change-Id: Ib11dce91543fc4a6623795f3ff2820db5a3d7120 Reviewed-on: https://gerrit.libreoffice.org/53229 Tested-by: Jenkins <[email protected]> Reviewed-by: Noel Grandin <[email protected]> diff --git a/include/vcl/status.hxx b/include/vcl/status.hxx index 8ce894a87630..0ead49f7ddad 100644 --- a/include/vcl/status.hxx +++ b/include/vcl/status.hxx @@ -24,6 +24,7 @@ #include <vcl/dllapi.h> #include <vcl/window.hxx> #include <o3tl/typed_flags_set.hxx> +#include <memory> #include <vector> struct ImplStatusItem; @@ -59,8 +60,8 @@ class VCL_DLLPUBLIC StatusBar : public vcl::Window { class ImplData; private: - std::vector<ImplStatusItem *> mpItemList; - ImplData* mpImplData; + std::vector<std::unique_ptr<ImplStatusItem>> mvItemList; + std::unique_ptr<ImplData> mpImplData; OUString maPrgsTxt; Point maPrgsTxtPos; tools::Rectangle maPrgsFrameRect; diff --git a/vcl/source/window/status.cxx b/vcl/source/window/status.cxx index 5acbb2457012..357dc6166be4 100644 --- a/vcl/source/window/status.cxx +++ b/vcl/source/window/status.cxx @@ -109,7 +109,7 @@ bool StatusBar::ImplIsItemUpdate() void StatusBar::ImplInit( vcl::Window* pParent, WinBits nStyle ) { - mpImplData = new ImplData; + mpImplData.reset(new ImplData); // default: RightAlign if ( !(nStyle & (WB_LEFT | WB_RIGHT)) ) @@ -150,14 +150,11 @@ StatusBar::~StatusBar() void StatusBar::dispose() { // delete all items - for (ImplStatusItem* i : mpItemList) { - delete i; - } - mpItemList.clear(); + mvItemList.clear(); // delete VirtualDevice mpImplData->mpVirDev.disposeAndClear(); - delete mpImplData; + mpImplData.reset(); Window::dispose(); } @@ -217,7 +214,6 @@ void StatusBar::ImplInitSettings() void StatusBar::ImplFormat() { - ImplStatusItem* pItem; long nExtraWidth; long nExtraWidth2; long nX; @@ -226,8 +222,7 @@ void StatusBar::ImplFormat() // sum up widths mnItemsWidth = STATUSBAR_OFFSET_X; long nOffset = 0; - for (ImplStatusItem* i : mpItemList) { - pItem = i; + for (auto & pItem : mvItemList) { if ( pItem->mbVisible ) { if ( pItem->mnBits & StatusBarItemBits::AutoSize ) { @@ -268,8 +263,7 @@ void StatusBar::ImplFormat() nX += ImplGetSVData()->maNWFData.mnStatusBarLowerRightOffset; } - for (ImplStatusItem* i : mpItemList) { - pItem = i; + for (auto & pItem : mvItemList) { if ( pItem->mbVisible ) { if ( pItem->mnBits & StatusBarItemBits::AutoSize ) { pItem->mnExtraWidth = nExtraWidth; @@ -292,8 +286,7 @@ void StatusBar::ImplFormat() tools::Rectangle StatusBar::ImplGetItemRectPos( sal_uInt16 nPos ) const { tools::Rectangle aRect; - ImplStatusItem* pItem; - pItem = ( nPos < mpItemList.size() ) ? mpItemList[ nPos ] : nullptr; + ImplStatusItem* pItem = ( nPos < mvItemList.size() ) ? mvItemList[ nPos ].get() : nullptr; if ( pItem ) { if ( pItem->mbVisible ) @@ -310,14 +303,11 @@ tools::Rectangle StatusBar::ImplGetItemRectPos( sal_uInt16 nPos ) const sal_uInt16 StatusBar::ImplGetFirstVisiblePos() const { - for( size_t nPos = 0; nPos < mpItemList.size(); nPos++ ) + for( size_t nPos = 0; nPos < mvItemList.size(); nPos++ ) { - ImplStatusItem* pItem = mpItemList[ nPos ]; - if ( pItem ) - { - if ( pItem->mbVisible ) - return sal_uInt16(nPos); - } + ImplStatusItem* pItem = mvItemList[ nPos ].get(); + if ( pItem->mbVisible ) + return sal_uInt16(nPos); } return SAL_MAX_UINT16; @@ -355,7 +345,7 @@ void StatusBar::ImplDrawItem(vcl::RenderContext& rRenderContext, bool bOffScreen return; // compute output region - ImplStatusItem* pItem = mpItemList[nPos]; + ImplStatusItem* pItem = mvItemList[nPos].get(); long nW = mpImplData->mnItemBorderWidth + 1; tools::Rectangle aTextRect(aRect.Left() + nW, aRect.Top() + nW, aRect.Right() - nW, aRect.Bottom() - nW); @@ -657,9 +647,9 @@ void StatusBar::MouseButtonDown( const MouseEvent& rMEvt ) Point aMousePos = rMEvt.GetPosPixel(); // search for clicked item - for ( size_t i = 0; i < mpItemList.size(); ++i ) + for ( size_t i = 0; i < mvItemList.size(); ++i ) { - ImplStatusItem* pItem = mpItemList[ i ]; + ImplStatusItem* pItem = mvItemList[ i ].get(); // check item for being clicked if ( ImplGetItemRectPos( sal_uInt16(i) ).IsInside( aMousePos ) ) { @@ -689,7 +679,7 @@ void StatusBar::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle if (mbFormat) ImplFormat(); - sal_uInt16 nItemCount = sal_uInt16( mpItemList.size() ); + sal_uInt16 nItemCount = sal_uInt16( mvItemList.size() ); if (mbProgressMode) { @@ -851,7 +841,7 @@ void StatusBar::StateChanged( StateChangedType nType ) } //invalidate layout cache - for (ImplStatusItem* pItem : mpItemList) + for (auto & pItem : mvItemList) { pItem->mxLayoutCache.reset(); } @@ -873,7 +863,7 @@ void StatusBar::DataChanged( const DataChangedEvent& rDCEvt ) mbFormat = true; ImplInitSettings(); long nFudge = GetTextHeight() / 4; - for (ImplStatusItem* pItem : mpItemList) + for (auto & pItem : mvItemList) { long nWidth = GetTextWidth( pItem->maText ) + nFudge; if( nWidth > pItem->mnWidth + STATUSBAR_OFFSET ) @@ -926,7 +916,7 @@ void StatusBar::InsertItem( sal_uInt16 nItemId, sal_uLong nWidth, nWidth *= GetDPIScaleFactor(); } long nFudge = GetTextHeight()/4; - ImplStatusItem* pItem = new ImplStatusItem; + std::unique_ptr<ImplStatusItem> pItem(new ImplStatusItem); pItem->mnId = nItemId; pItem->mnBits = nBits; pItem->mnWidth = static_cast<long>(nWidth)+nFudge+STATUSBAR_OFFSET; @@ -935,10 +925,10 @@ void StatusBar::InsertItem( sal_uInt16 nItemId, sal_uLong nWidth, pItem->mbVisible = true; // add item to list - if ( nPos < mpItemList.size() ) { - mpItemList.insert( mpItemList.begin() + nPos, pItem ); + if ( nPos < mvItemList.size() ) { + mvItemList.insert( mvItemList.begin() + nPos, std::move(pItem) ); } else { - mpItemList.push_back( pItem ); + mvItemList.push_back( std::move(pItem) ); } mbFormat = true; @@ -953,8 +943,7 @@ void StatusBar::RemoveItem( sal_uInt16 nItemId ) sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) { - delete mpItemList[ nPos ]; - mpItemList.erase( mpItemList.begin() + nPos ); + mvItemList.erase( mvItemList.begin() + nPos ); mbFormat = true; if ( ImplIsItemUpdate() ) @@ -970,7 +959,7 @@ void StatusBar::ShowItem( sal_uInt16 nItemId ) if ( nPos != STATUSBAR_ITEM_NOTFOUND ) { - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); if ( !pItem->mbVisible ) { pItem->mbVisible = true; @@ -990,7 +979,7 @@ void StatusBar::HideItem( sal_uInt16 nItemId ) if ( nPos != STATUSBAR_ITEM_NOTFOUND ) { - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); if ( pItem->mbVisible ) { pItem->mbVisible = false; @@ -1009,7 +998,7 @@ bool StatusBar::IsItemVisible( sal_uInt16 nItemId ) const sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) - return mpItemList[ nPos ]->mbVisible; + return mvItemList[ nPos ]->mbVisible; else return false; } @@ -1017,10 +1006,7 @@ bool StatusBar::IsItemVisible( sal_uInt16 nItemId ) const void StatusBar::Clear() { // delete all items - for (ImplStatusItem* i : mpItemList) { - delete i; - } - mpItemList.clear(); + mvItemList.clear(); mbFormat = true; if ( ImplIsItemUpdate() ) @@ -1031,20 +1017,20 @@ void StatusBar::Clear() sal_uInt16 StatusBar::GetItemCount() const { - return static_cast<sal_uInt16>(mpItemList.size()); + return static_cast<sal_uInt16>(mvItemList.size()); } sal_uInt16 StatusBar::GetItemId( sal_uInt16 nPos ) const { - if ( nPos < mpItemList.size() ) - return mpItemList[ nPos ]->mnId; + if ( nPos < mvItemList.size() ) + return mvItemList[ nPos ]->mnId; return 0; } sal_uInt16 StatusBar::GetItemPos( sal_uInt16 nItemId ) const { - for ( size_t i = 0, n = mpItemList.size(); i < n; ++i ) { - if ( mpItemList[ i ]->mnId == nItemId ) { + for ( size_t i = 0, n = mvItemList.size(); i < n; ++i ) { + if ( mvItemList[ i ]->mnId == nItemId ) { return sal_uInt16( i ); } } @@ -1063,7 +1049,7 @@ sal_uInt16 StatusBar::GetItemId( const Point& rPos ) const // get rectangle tools::Rectangle aRect = ImplGetItemRectPos( nPos ); if ( aRect.IsInside( rPos ) ) - return mpItemList[ nPos ]->mnId; + return mvItemList[ nPos ]->mnId; } } @@ -1101,7 +1087,7 @@ Point StatusBar::GetItemTextPos( sal_uInt16 nItemId ) const if ( nPos != STATUSBAR_ITEM_NOTFOUND ) { // get rectangle - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); tools::Rectangle aRect = ImplGetItemRectPos( nPos ); long nW = mpImplData->mnItemBorderWidth + 1; tools::Rectangle aTextRect( aRect.Left()+nW, aRect.Top()+nW, @@ -1126,7 +1112,7 @@ sal_uLong StatusBar::GetItemWidth( sal_uInt16 nItemId ) const sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) - return mpItemList[ nPos ]->mnWidth; + return mvItemList[ nPos ]->mnWidth; return 0; } @@ -1136,7 +1122,7 @@ StatusBarItemBits StatusBar::GetItemBits( sal_uInt16 nItemId ) const sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) - return mpItemList[ nPos ]->mnBits; + return mvItemList[ nPos ]->mnBits; return StatusBarItemBits::NONE; } @@ -1146,7 +1132,7 @@ long StatusBar::GetItemOffset( sal_uInt16 nItemId ) const sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) - return mpItemList[ nPos ]->mnOffset; + return mvItemList[ nPos ]->mnOffset; return 0; } @@ -1157,7 +1143,7 @@ void StatusBar::SetItemText( sal_uInt16 nItemId, const OUString& rText ) if ( nPos != STATUSBAR_ITEM_NOTFOUND ) { - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); if ( pItem->maText != rText ) { @@ -1194,7 +1180,7 @@ const OUString& StatusBar::GetItemText( sal_uInt16 nItemId ) const assert( nPos != STATUSBAR_ITEM_NOTFOUND ); - return mpItemList[ nPos ]->maText; + return mvItemList[ nPos ]->maText; } void StatusBar::SetItemCommand( sal_uInt16 nItemId, const OUString& rCommand ) @@ -1203,7 +1189,7 @@ void StatusBar::SetItemCommand( sal_uInt16 nItemId, const OUString& rCommand ) if ( nPos != STATUSBAR_ITEM_NOTFOUND ) { - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); if ( pItem->maCommand != rCommand ) pItem->maCommand = rCommand; @@ -1215,7 +1201,7 @@ const OUString StatusBar::GetItemCommand( sal_uInt16 nItemId ) sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) - return mpItemList[ nPos ]->maCommand; + return mvItemList[ nPos ]->maCommand; return OUString(); } @@ -1226,7 +1212,7 @@ void StatusBar::SetItemData( sal_uInt16 nItemId, void* pNewData ) if ( nPos != STATUSBAR_ITEM_NOTFOUND ) { - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); // invalidate cache pItem->mxLayoutCache.reset(); pItem->mpUserData = pNewData; @@ -1247,7 +1233,7 @@ void* StatusBar::GetItemData( sal_uInt16 nItemId ) const sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) - return mpItemList[ nPos ]->mpUserData; + return mvItemList[ nPos ]->mpUserData; return nullptr; } @@ -1261,8 +1247,8 @@ void StatusBar::RedrawItem(sal_uInt16 nItemId) if ( nPos == STATUSBAR_ITEM_NOTFOUND ) return; - ImplStatusItem* pItem = mpItemList[ nPos ]; - if (pItem && (pItem->mnBits & StatusBarItemBits::UserDraw) && + ImplStatusItem* pItem = mvItemList[ nPos ].get(); + if ((pItem->mnBits & StatusBarItemBits::UserDraw) && pItem->mbVisible && ImplIsItemUpdate()) { tools::Rectangle aRect = ImplGetItemRectPos(nPos); @@ -1276,7 +1262,7 @@ void StatusBar::SetHelpText( sal_uInt16 nItemId, const OUString& rText ) sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) - mpItemList[ nPos ]->maHelpText = rText; + mvItemList[ nPos ]->maHelpText = rText; } const OUString& StatusBar::GetHelpText( sal_uInt16 nItemId ) const @@ -1285,7 +1271,7 @@ const OUString& StatusBar::GetHelpText( sal_uInt16 nItemId ) const assert ( nPos != STATUSBAR_ITEM_NOTFOUND ); - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); if ( pItem->maHelpText.isEmpty() && ( !pItem->maHelpId.isEmpty() || !pItem->maCommand.isEmpty() )) { Help* pHelp = Application::GetHelp(); @@ -1306,7 +1292,7 @@ void StatusBar::SetQuickHelpText( sal_uInt16 nItemId, const OUString& rText ) sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) - mpItemList[ nPos ]->maQuickHelpText = rText; + mvItemList[ nPos ]->maQuickHelpText = rText; } const OUString& StatusBar::GetQuickHelpText( sal_uInt16 nItemId ) const @@ -1315,7 +1301,7 @@ const OUString& StatusBar::GetQuickHelpText( sal_uInt16 nItemId ) const assert ( nPos != STATUSBAR_ITEM_NOTFOUND ); - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); return pItem->maQuickHelpText; } @@ -1324,7 +1310,7 @@ void StatusBar::SetHelpId( sal_uInt16 nItemId, const OString& rHelpId ) sal_uInt16 nPos = GetItemPos( nItemId ); if ( nPos != STATUSBAR_ITEM_NOTFOUND ) - mpItemList[ nPos ]->maHelpId = rHelpId; + mvItemList[ nPos ]->maHelpId = rHelpId; } OString StatusBar::GetHelpId( sal_uInt16 nItemId ) const @@ -1334,7 +1320,7 @@ OString StatusBar::GetHelpId( sal_uInt16 nItemId ) const OString aRet; if ( nPos != STATUSBAR_ITEM_NOTFOUND ) { - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); if ( !pItem->maHelpId.isEmpty() ) aRet = pItem->maHelpId; else @@ -1427,14 +1413,14 @@ void StatusBar::SetText(const OUString& rText) Size StatusBar::CalcWindowSizePixel() const { size_t i = 0; - size_t nCount = mpItemList.size(); + size_t nCount = mvItemList.size(); long nOffset = 0; long nCalcWidth = (STATUSBAR_OFFSET_X*2); long nCalcHeight; while ( i < nCount ) { - ImplStatusItem* pItem = mpItemList[ i ]; + ImplStatusItem* pItem = mvItemList[ i ].get(); nCalcWidth += pItem->mnWidth + nOffset; nOffset = pItem->mnOffset; i++; @@ -1484,7 +1470,7 @@ void StatusBar::SetAccessibleName( sal_uInt16 nItemId, const OUString& rName ) if ( nPos != STATUSBAR_ITEM_NOTFOUND ) { - ImplStatusItem* pItem = mpItemList[ nPos ]; + ImplStatusItem* pItem = mvItemList[ nPos ].get(); if ( pItem->maAccessibleName != rName ) { @@ -1500,7 +1486,7 @@ const OUString& StatusBar::GetAccessibleName( sal_uInt16 nItemId ) const assert ( nPos != STATUSBAR_ITEM_NOTFOUND ); - return mpItemList[ nPos ]->maAccessibleName; + return mvItemList[ nPos ]->maAccessibleName; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 3acdd48382476e7bf79512762a4ecb872a18cdb8 Author: Noel Grandin <[email protected]> Date: Mon Apr 16 12:23:53 2018 +0200 loplugin:useuniqueptr in ImplWheelWindow Change-Id: I064ebced6e7840c4f9a179c312743385892e552a Reviewed-on: https://gerrit.libreoffice.org/53228 Tested-by: Jenkins <[email protected]> Reviewed-by: Noel Grandin <[email protected]> diff --git a/vcl/inc/scrwnd.hxx b/vcl/inc/scrwnd.hxx index de6e1320b1e5..779f9f8937dd 100644 --- a/vcl/inc/scrwnd.hxx +++ b/vcl/inc/scrwnd.hxx @@ -46,7 +46,7 @@ private: std::vector<Image> maImgList; Point maLastMousePos; Point maCenter; - Timer* mpTimer; + std::unique_ptr<Timer> mpTimer; sal_uInt64 mnRepaintTime; sal_uInt64 mnTimeout; WheelMode mnWheelMode; diff --git a/vcl/source/window/scrwnd.cxx b/vcl/source/window/scrwnd.cxx index 5650e8462074..0f4e932f87ff 100644 --- a/vcl/source/window/scrwnd.cxx +++ b/vcl/source/window/scrwnd.cxx @@ -71,7 +71,7 @@ ImplWheelWindow::ImplWheelWindow( vcl::Window* pParent ) : ImplSetWheelMode( WheelMode::V ); // init timer - mpTimer = new Timer("WheelWindowTimer"); + mpTimer.reset(new Timer("WheelWindowTimer")); mpTimer->SetInvokeHandler( LINK( this, ImplWheelWindow, ImplScrollHdl ) ); mpTimer->SetTimeout( mnTimeout ); mpTimer->Start(); @@ -87,9 +87,7 @@ ImplWheelWindow::~ImplWheelWindow() void ImplWheelWindow::dispose() { ImplStop(); - delete mpTimer; - mpTimer = nullptr; - + mpTimer.reset(); FloatingWindow::dispose(); } commit 3148fdfe21a626307fc60fef1451b1c501686504 Author: Noel Grandin <[email protected]> Date: Mon Apr 16 12:22:26 2018 +0200 loplugin:useuniqueptr in PopupMenuFloatingWindow Change-Id: If903f677db198978dcf455f06198437a26b6a311 Reviewed-on: https://gerrit.libreoffice.org/53227 Tested-by: Jenkins <[email protected]> Reviewed-by: Noel Grandin <[email protected]> diff --git a/include/vcl/popupmenuwindow.hxx b/include/vcl/popupmenuwindow.hxx index dcfcb9f84345..4d035b3b1bdf 100644 --- a/include/vcl/popupmenuwindow.hxx +++ b/include/vcl/popupmenuwindow.hxx @@ -21,12 +21,13 @@ #define INCLUDED_VCL_POPUPMENUWINDOW_HXX #include <vcl/floatwin.hxx> +#include <memory> class VCL_DLLPUBLIC PopupMenuFloatingWindow : public FloatingWindow { private: struct ImplData; - ImplData* mpImplData; + std::unique_ptr<ImplData> mpImplData; public: PopupMenuFloatingWindow( vcl::Window* pParent ); virtual ~PopupMenuFloatingWindow() override; diff --git a/vcl/source/window/popupmenuwindow.cxx b/vcl/source/window/popupmenuwindow.cxx index d8cd337a1c91..f85298e63642 100644 --- a/vcl/source/window/popupmenuwindow.cxx +++ b/vcl/source/window/popupmenuwindow.cxx @@ -46,7 +46,7 @@ PopupMenuFloatingWindow::~PopupMenuFloatingWindow() void PopupMenuFloatingWindow::dispose() { - delete mpImplData; + mpImplData.reset(); FloatingWindow::dispose(); } commit 7af3b9d7970d60ba09e0556ee232a8fa624383d4 Author: Noel Grandin <[email protected]> Date: Mon Apr 16 12:22:15 2018 +0200 loplugin:useuniqueptr in OZipFileAccess Change-Id: Iaad8b364b1a244bd559e582a1622dd59b4756759 Reviewed-on: https://gerrit.libreoffice.org/53226 Tested-by: Jenkins <[email protected]> Reviewed-by: Noel Grandin <[email protected]> diff --git a/package/inc/zipfileaccess.hxx b/package/inc/zipfileaccess.hxx index 380e3428dd8b..901ae060e436 100644 --- a/package/inc/zipfileaccess.hxx +++ b/package/inc/zipfileaccess.hxx @@ -47,7 +47,7 @@ class OZipFileAccess : public ::cppu::WeakImplHelper< css::uno::Reference< css::uno::XComponentContext > m_xContext; css::uno::Reference< css::io::XInputStream > m_xContentStream; std::unique_ptr<ZipFile> m_pZipFile; - ::comphelper::OInterfaceContainerHelper2* m_pListenersContainer; + std::unique_ptr<::comphelper::OInterfaceContainerHelper2> m_pListenersContainer; bool m_bDisposed; bool m_bOwnContent; diff --git a/package/source/zippackage/zipfileaccess.cxx b/package/source/zippackage/zipfileaccess.cxx index 9bef00cafca6..eb5ad53f1ce7 100644 --- a/package/source/zippackage/zipfileaccess.cxx +++ b/package/source/zippackage/zipfileaccess.cxx @@ -413,8 +413,7 @@ void SAL_CALL OZipFileAccess::dispose() { lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >(this) ); m_pListenersContainer->disposeAndClear( aSource ); - delete m_pListenersContainer; - m_pListenersContainer = nullptr; + m_pListenersContainer.reset(); } m_pZipFile.reset(); @@ -436,7 +435,7 @@ void SAL_CALL OZipFileAccess::addEventListener( const uno::Reference< lang::XEve throw lang::DisposedException(THROW_WHERE ); if ( !m_pListenersContainer ) - m_pListenersContainer = new ::comphelper::OInterfaceContainerHelper2( m_aMutexHolder->GetMutex() ); + m_pListenersContainer.reset( new ::comphelper::OInterfaceContainerHelper2( m_aMutexHolder->GetMutex() ) ); m_pListenersContainer->addInterface( xListener ); } commit b603dad2dfb49a120084b2e4124b16bd18a3b6f1 Author: Noel Grandin <[email protected]> Date: Mon Apr 16 12:08:56 2018 +0200 loplugin:useuniqueptr in SwitchablePersistenceStream Change-Id: I8f7d8296b98bc1743b993aac195859b2d2be4f7f Reviewed-on: https://gerrit.libreoffice.org/53225 Tested-by: Jenkins <[email protected]> Reviewed-by: Noel Grandin <[email protected]> diff --git a/package/source/xstor/switchpersistencestream.cxx b/package/source/xstor/switchpersistencestream.cxx index 5d96d626d9d3..b85be26f7eb6 100644 --- a/package/source/xstor/switchpersistencestream.cxx +++ b/package/source/xstor/switchpersistencestream.cxx @@ -112,9 +112,9 @@ void SwitchablePersistenceStream::SwitchPersistenceTo( const uno::Reference< io: CloseAll_Impl(); - m_pStreamData = new SPStreamData_Impl( false, + m_pStreamData.reset( new SPStreamData_Impl( false, xNewTruncate, xNewSeekable, xNewInStream, xNewOutStream, - bInOpen, bOutOpen ); + bInOpen, bOutOpen ) ); } void SwitchablePersistenceStream::SwitchPersistenceTo( const uno::Reference< io::XInputStream >& xInputStream ) @@ -145,9 +145,9 @@ void SwitchablePersistenceStream::SwitchPersistenceTo( const uno::Reference< io: CloseAll_Impl(); - m_pStreamData = new SPStreamData_Impl( true, + m_pStreamData.reset( new SPStreamData_Impl( true, xNewTruncate, xNewSeekable, xInputStream, xNewOutStream, - bInOpen, bOutOpen ); + bInOpen, bOutOpen ) ); } @@ -189,18 +189,14 @@ void SwitchablePersistenceStream::CopyAndSwitchPersistenceTo( const uno::Referen CloseAll_Impl(); - m_pStreamData = new SPStreamData_Impl( false, + m_pStreamData.reset( new SPStreamData_Impl( false, xTargetTruncate, xTargetSeek, xTargetInStream, xTargetOutStream, - bInOpen, bOutOpen ); + bInOpen, bOutOpen ) ); } void SwitchablePersistenceStream::CloseAll_Impl() { - if ( m_pStreamData ) - { - delete m_pStreamData; - m_pStreamData = nullptr; - } + m_pStreamData.reset(); } // css::io::XStream diff --git a/package/source/xstor/switchpersistencestream.hxx b/package/source/xstor/switchpersistencestream.hxx index a42ca023e227..f52d9bd4415e 100644 --- a/package/source/xstor/switchpersistencestream.hxx +++ b/package/source/xstor/switchpersistencestream.hxx @@ -54,7 +54,7 @@ class SwitchablePersistenceStream const css::uno::Reference< css::uno::XComponentContext > m_xContext; - SPStreamData_Impl* m_pStreamData; + std::unique_ptr<SPStreamData_Impl> m_pStreamData; void CloseAll_Impl(); commit 7e937a13840129b1aba0ffcc560dc07e891ebe09 Author: Noel Grandin <[email protected]> Date: Mon Apr 16 12:06:48 2018 +0200 loplugin:useuniqueptr in Inflater,Deflater Change-Id: I55833664a6e76d781908b8f1f721dd9a4946e35f Reviewed-on: https://gerrit.libreoffice.org/53224 Tested-by: Jenkins <[email protected]> Reviewed-by: Noel Grandin <[email protected]> diff --git a/compilerplugins/clang/useuniqueptr.cxx b/compilerplugins/clang/useuniqueptr.cxx index 192ae50a4eba..0b5fb2c79aa7 100644 --- a/compilerplugins/clang/useuniqueptr.cxx +++ b/compilerplugins/clang/useuniqueptr.cxx @@ -42,6 +42,9 @@ public: // this just too clever for me if (fn == SRCDIR "/sc/source/core/tool/chgtrack.cxx") return; + // too clever + if (fn == SRCDIR "/pyuno/source/module/pyuno_runtime.cxx") + return; TraverseDecl(compiler.getASTContext().getTranslationUnitDecl()); } diff --git a/include/package/Deflater.hxx b/include/package/Deflater.hxx index 9d88997f5be6..2ecb7636ff19 100644 --- a/include/package/Deflater.hxx +++ b/include/package/Deflater.hxx @@ -22,6 +22,7 @@ #include <com/sun/star/uno/Sequence.hxx> #include <package/packagedllapi.hxx> +#include <memory> struct z_stream_s; @@ -35,7 +36,7 @@ class DLLPUBLIC_PACKAGE Deflater final bool bFinish; bool bFinished; sal_Int64 nOffset, nLength; - z_stream* pStream; + std::unique_ptr<z_stream> pStream; void init (sal_Int32 nLevel, bool bNowrap); sal_Int32 doDeflateBytes (css::uno::Sequence < sal_Int8 > &rBuffer, sal_Int32 nNewOffset, sal_Int32 nNewLength); diff --git a/include/package/Inflater.hxx b/include/package/Inflater.hxx index ebec98734f3f..1e3892f83d75 100644 --- a/include/package/Inflater.hxx +++ b/include/package/Inflater.hxx @@ -22,6 +22,7 @@ #include <com/sun/star/uno/Sequence.hxx> #include <package/packagedllapi.hxx> +#include <memory> struct z_stream_s; @@ -33,7 +34,7 @@ class DLLPUBLIC_PACKAGE Inflater final bool bFinished, bNeedDict; sal_Int32 nOffset, nLength, nLastInflateError; - z_stream* pStream; + std::unique_ptr<z_stream> pStream; css::uno::Sequence < sal_Int8 > sInBuffer; sal_Int32 doInflateBytes (css::uno::Sequence < sal_Int8 > &rBuffer, sal_Int32 nNewOffset, sal_Int32 nNewLength); diff --git a/package/source/zipapi/Deflater.cxx b/package/source/zipapi/Deflater.cxx index e2f0e7ebd374..d50317357ef1 100644 --- a/package/source/zipapi/Deflater.cxx +++ b/package/source/zipapi/Deflater.cxx @@ -37,20 +37,20 @@ Deflater::~Deflater() } void Deflater::init (sal_Int32 nLevelArg, bool bNowrap) { - pStream = new z_stream; + pStream.reset(new z_stream); /* Memset it to 0...sets zalloc/zfree/opaque to NULL */ - memset (pStream, 0, sizeof(*pStream)); + memset (pStream.get(), 0, sizeof(*pStream)); - switch (deflateInit2(pStream, nLevelArg, Z_DEFLATED, bNowrap? -MAX_WBITS : MAX_WBITS, + switch (deflateInit2(pStream.get(), nLevelArg, Z_DEFLATED, bNowrap? -MAX_WBITS : MAX_WBITS, DEF_MEM_LEVEL, DEFAULT_STRATEGY)) { case Z_OK: break; case Z_MEM_ERROR: - delete pStream; + pStream.reset(); break; case Z_STREAM_ERROR: - delete pStream; + pStream.reset(); break; default: break; @@ -75,9 +75,9 @@ sal_Int32 Deflater::doDeflateBytes (uno::Sequence < sal_Int8 > &rBuffer, sal_Int pStream->avail_out = nNewLength; #if !defined Z_PREFIX - nResult = deflate(pStream, bFinish ? Z_FINISH : Z_NO_FLUSH); + nResult = deflate(pStream.get(), bFinish ? Z_FINISH : Z_NO_FLUSH); #else - nResult = z_deflate(pStream, bFinish ? Z_FINISH : Z_NO_FLUSH); + nResult = z_deflate(pStream.get(), bFinish ? Z_FINISH : Z_NO_FLUSH); #endif switch (nResult) { @@ -124,9 +124,9 @@ sal_Int64 Deflater::getTotalOut( ) void Deflater::reset( ) { #if !defined Z_PREFIX - deflateReset(pStream); + deflateReset(pStream.get()); #else - z_deflateReset(pStream); + z_deflateReset(pStream.get()); #endif bFinish = false; bFinished = false; @@ -134,16 +134,15 @@ void Deflater::reset( ) } void Deflater::end( ) { - if (pStream != nullptr) + if (pStream) { #if !defined Z_PREFIX - deflateEnd(pStream); + deflateEnd(pStream.get()); #else - z_deflateEnd(pStream); + z_deflateEnd(pStream.get()); #endif - delete pStream; + pStream.reset(); } - pStream = nullptr; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/package/source/zipapi/Inflater.cxx b/package/source/zipapi/Inflater.cxx index a059eb1418de..24a3b23e3156 100644 --- a/package/source/zipapi/Inflater.cxx +++ b/package/source/zipapi/Inflater.cxx @@ -34,20 +34,20 @@ Inflater::Inflater(bool bNoWrap) nLastInflateError(0), pStream(nullptr) { - pStream = new z_stream; + pStream.reset(new z_stream); /* memset to 0 to set zalloc/opaque etc */ - memset (pStream, 0, sizeof(*pStream)); + memset (pStream.get(), 0, sizeof(*pStream)); sal_Int32 nRes; - nRes = inflateInit2(pStream, bNoWrap ? -MAX_WBITS : MAX_WBITS); + nRes = inflateInit2(pStream.get(), bNoWrap ? -MAX_WBITS : MAX_WBITS); switch (nRes) { case Z_OK: break; case Z_MEM_ERROR: - delete pStream; + pStream.reset(); break; case Z_STREAM_ERROR: - delete pStream; + pStream.reset(); break; default: break; @@ -78,16 +78,15 @@ sal_Int32 Inflater::doInflateSegment( Sequence< sal_Int8 >& rBuffer, sal_Int32 n void Inflater::end( ) { - if (pStream != nullptr) + if (pStream) { #if !defined Z_PREFIX - inflateEnd(pStream); + inflateEnd(pStream.get()); #else - z_inflateEnd(pStream); + z_inflateEnd(pStream.get()); #endif - delete pStream; + pStream.reset(); } - pStream = nullptr; } sal_Int32 Inflater::doInflateBytes (Sequence < sal_Int8 > &rBuffer, sal_Int32 nNewOffset, sal_Int32 nNewLength) @@ -106,9 +105,9 @@ sal_Int32 Inflater::doInflateBytes (Sequence < sal_Int8 > &rBuffer, sal_Int32 n pStream->avail_out = nNewLength; #if !defined Z_PREFIX - sal_Int32 nResult = ::inflate(pStream, Z_PARTIAL_FLUSH); + sal_Int32 nResult = ::inflate(pStream.get(), Z_PARTIAL_FLUSH); #else - sal_Int32 nResult = ::z_inflate(pStream, Z_PARTIAL_FLUSH); + sal_Int32 nResult = ::z_inflate(pStream.get(), Z_PARTIAL_FLUSH); #endif switch (nResult) _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
