diff options
Diffstat (limited to 'svtools')
51 files changed, 325 insertions, 206 deletions
diff --git a/svtools/inc/vclxaccessibleheaderbar.hxx b/svtools/inc/vclxaccessibleheaderbar.hxx index f283821e3b2a..c0d0fb15cd25 100644 --- a/svtools/inc/vclxaccessibleheaderbar.hxx +++ b/svtools/inc/vclxaccessibleheaderbar.hxx @@ -36,7 +36,7 @@ class VCLXAccessibleHeaderBar : public VCLXAccessibleComponent { public: - HeaderBar* m_pHeadBar; + VclPtr<HeaderBar> m_pHeadBar; virtual ~VCLXAccessibleHeaderBar(); virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) SAL_OVERRIDE; diff --git a/svtools/inc/vclxaccessibleheaderbaritem.hxx b/svtools/inc/vclxaccessibleheaderbaritem.hxx index 301036cb04b5..727c2e7a8177 100644 --- a/svtools/inc/vclxaccessibleheaderbaritem.hxx +++ b/svtools/inc/vclxaccessibleheaderbaritem.hxx @@ -25,6 +25,7 @@ #include <cppuhelper/implbase2.hxx> #include <tools/link.hxx> +#include <vcl/vclptr.hxx> #include <vector> @@ -53,7 +54,7 @@ class VCLXAccessibleHeaderBarItem : public AccessibleExtendedComponentHelper_ { private: VCLExternalSolarLock* m_pExternalLock; - HeaderBar* m_pHeadBar; + VclPtr<HeaderBar> m_pHeadBar; sal_Int32 m_nIndexInParent; protected: diff --git a/svtools/source/brwbox/brwbox1.cxx b/svtools/source/brwbox/brwbox1.cxx index 49fb3aa2e02f..6650cbd44e52 100644 --- a/svtools/source/brwbox/brwbox1.cxx +++ b/svtools/source/brwbox/brwbox1.cxx @@ -36,7 +36,7 @@ #define SCROLL_FLAGS (SCROLL_CLIP | SCROLL_NOCHILDREN) -#define getDataWindow() (static_cast<BrowserDataWin*>(pDataWin)) +#define getDataWindow() (static_cast<BrowserDataWin*>(pDataWin.get())) using namespace com::sun::star::accessibility::AccessibleEventId; using namespace com::sun::star::accessibility::AccessibleTableModelChangeType; @@ -153,10 +153,10 @@ void BrowseBox::dispose() } Hide(); - delete getDataWindow()->pHeaderBar; - delete getDataWindow()->pCornerWin; - delete pDataWin; - delete pVScroll; + getDataWindow()->pHeaderBar.clear(); + getDataWindow()->pCornerWin.clear(); + pDataWin.clear(); + pVScroll.clear(); aHScroll.disposeAndClear(); // free columns-space @@ -596,7 +596,7 @@ void BrowseBox::SetColumnWidth( sal_uInt16 nItemId, sal_uLong nWidth ) nMaxWidth -= getDataWindow()->bAutoSizeLastCol ? GetFieldRect(nItemId).Left() : GetFrozenWidth(); - if ( static_cast<BrowserDataWin*>(pDataWin )->bAutoSizeLastCol || nWidth > (sal_uLong)nMaxWidth ) + if ( static_cast<BrowserDataWin*>( pDataWin.get() )->bAutoSizeLastCol || nWidth > (sal_uLong)nMaxWidth ) { nWidth = nMaxWidth > 16 ? nMaxWidth : nOldWidth; nWidth = QueryColumnResize( nItemId, nWidth ); @@ -652,7 +652,7 @@ void BrowseBox::SetColumnWidth( sal_uInt16 nItemId, sal_uLong nWidth ) getDataWindow()->Scroll( nWidth-nOldWidth, 0, aScrRect, SCROLL_FLAGS ); Rectangle aInvRect( nX, 0, nX + std::max( nWidth, (sal_uLong)nOldWidth ), USHRT_MAX ); Control::Invalidate( aInvRect, INVALIDATE_NOCHILDREN ); - static_cast<BrowserDataWin*>( pDataWin )->Invalidate( aInvRect ); + static_cast<BrowserDataWin*>( pDataWin.get() )->Invalidate( aInvRect ); } else { @@ -2255,7 +2255,7 @@ void BrowseBox::SetMode( BrowserMode nMode ) MultiSelection *pOldRowSel = bMultiSelection ? uRow.pSel : 0; MultiSelection *pOldColSel = pColSel; - delete pVScroll; + pVScroll.clear(); bThumbDragging = ( nMode & BROWSER_THUMBDRAGGING ) == BROWSER_THUMBDRAGGING; bMultiSelection = ( nMode & BROWSER_MULTISELECTION ) == BROWSER_MULTISELECTION; @@ -2286,7 +2286,7 @@ void BrowseBox::SetMode( BrowserMode nMode ) WB_VSCROLL | ( ( nMode & BROWSER_THUMBDRAGGING ) ? WB_DRAG : 0 ); pVScroll = ( nMode & BROWSER_TRACKING_TIPS ) == BROWSER_TRACKING_TIPS ? new BrowserScrollBar( this, nVScrollWinBits, - static_cast<BrowserDataWin*>( pDataWin ) ) + static_cast<BrowserDataWin*>( pDataWin.get() ) ) : new ScrollBar( this, nVScrollWinBits ); pVScroll->SetLineSize( 1 ); pVScroll->SetPageSize(1); @@ -2307,7 +2307,7 @@ void BrowseBox::SetMode( BrowserMode nMode ) } else { - DELETEZ(getDataWindow()->pHeaderBar); + getDataWindow()->pHeaderBar.clear(); } @@ -2408,9 +2408,9 @@ BrowserHeader* BrowseBox::CreateHeaderBar( BrowseBox* pParent ) void BrowseBox::SetHeaderBar( BrowserHeader* pHeaderBar ) { - delete static_cast<BrowserDataWin*>(pDataWin)->pHeaderBar; - static_cast<BrowserDataWin*>( pDataWin )->pHeaderBar = pHeaderBar; - static_cast<BrowserDataWin*>( pDataWin )->pHeaderBar->SetStartDragHdl( LINK( this, BrowseBox, StartDragHdl ) ); + static_cast<BrowserDataWin*>( pDataWin.get() )->pHeaderBar.clear(); + static_cast<BrowserDataWin*>( pDataWin.get() )->pHeaderBar = pHeaderBar; + static_cast<BrowserDataWin*>( pDataWin.get() )->pHeaderBar->SetStartDragHdl( LINK( this, BrowseBox, StartDragHdl ) ); } long BrowseBox::GetTitleHeight() const @@ -2418,7 +2418,7 @@ long BrowseBox::GetTitleHeight() const long nHeight; // ask the header bar for the text height (if possible), as the header bar's font is adjusted with // our (and the header's) zoom factor - HeaderBar* pHeaderBar = static_cast<BrowserDataWin*>( pDataWin )->pHeaderBar; + HeaderBar* pHeaderBar = static_cast<BrowserDataWin*>( pDataWin.get() )->pHeaderBar; if ( pHeaderBar ) nHeight = pHeaderBar->GetTextHeight(); else diff --git a/svtools/source/brwbox/brwbox2.cxx b/svtools/source/brwbox/brwbox2.cxx index d931547c13c0..959191e108d6 100644 --- a/svtools/source/brwbox/brwbox2.cxx +++ b/svtools/source/brwbox/brwbox2.cxx @@ -30,7 +30,7 @@ using namespace ::com::sun::star::datatransfer; -#define getDataWindow() (static_cast<BrowserDataWin*>(pDataWin)) +#define getDataWindow() (static_cast<BrowserDataWin*>(pDataWin.get())) @@ -43,7 +43,7 @@ void BrowseBox::StartDrag( sal_Int8 /* _nAction */, const Point& /* _rPosPixel * sal_Int8 BrowseBox::AcceptDrop( const AcceptDropEvent& _rEvt ) { - BrowserDataWin* pDataWindow = static_cast<BrowserDataWin*>(pDataWin); + BrowserDataWin* pDataWindow = static_cast<BrowserDataWin*>(pDataWin.get()); AcceptDropEvent aTransformed( _rEvt ); aTransformed.maPosPixel = pDataWindow->ScreenToOutputPixel( OutputToScreenPixel( _rEvt.maPosPixel ) ); return pDataWindow->AcceptDrop( aTransformed ); @@ -53,7 +53,7 @@ sal_Int8 BrowseBox::AcceptDrop( const AcceptDropEvent& _rEvt ) sal_Int8 BrowseBox::ExecuteDrop( const ExecuteDropEvent& _rEvt ) { - BrowserDataWin* pDataWindow = static_cast<BrowserDataWin*>(pDataWin); + BrowserDataWin* pDataWindow = static_cast<BrowserDataWin*>(pDataWin.get()); ExecuteDropEvent aTransformed( _rEvt ); aTransformed.maPosPixel = pDataWindow->ScreenToOutputPixel( OutputToScreenPixel( _rEvt.maPosPixel ) ); return pDataWindow->ExecuteDrop( aTransformed ); @@ -79,8 +79,8 @@ sal_Int8 BrowseBox::ExecuteDrop( const BrowserExecuteDropEvent& ) void* BrowseBox::implGetDataFlavors() const { - if (static_cast<BrowserDataWin*>(pDataWin)->bCallingDropCallback) - return &static_cast<BrowserDataWin*>(pDataWin)->GetDataFlavorExVector(); + if (static_cast<BrowserDataWin*>(pDataWin.get())->bCallingDropCallback) + return &static_cast<BrowserDataWin*>(pDataWin.get())->GetDataFlavorExVector(); return &GetDataFlavorExVector(); } @@ -88,8 +88,8 @@ void* BrowseBox::implGetDataFlavors() const bool BrowseBox::IsDropFormatSupported( SotClipboardFormatId _nFormat ) { - if ( static_cast< BrowserDataWin* >( pDataWin )->bCallingDropCallback ) - return static_cast< BrowserDataWin* >( pDataWin )->IsDropFormatSupported( _nFormat ); + if ( static_cast< BrowserDataWin* >( pDataWin.get() )->bCallingDropCallback ) + return static_cast< BrowserDataWin* >( pDataWin.get() )->IsDropFormatSupported( _nFormat ); return DropTargetHelper::IsDropFormatSupported( _nFormat ); } @@ -105,8 +105,8 @@ bool BrowseBox::IsDropFormatSupported( SotClipboardFormatId _nFormat ) const bool BrowseBox::IsDropFormatSupported( const DataFlavor& _rFlavor ) { - if ( static_cast< BrowserDataWin* >( pDataWin )->bCallingDropCallback ) - return static_cast< BrowserDataWin* >( pDataWin )->IsDropFormatSupported( _rFlavor ); + if ( static_cast< BrowserDataWin* >( pDataWin.get() )->bCallingDropCallback ) + return static_cast< BrowserDataWin* >( pDataWin.get() )->IsDropFormatSupported( _rFlavor ); return DropTargetHelper::IsDropFormatSupported( _rFlavor ); } @@ -189,7 +189,7 @@ void BrowseBox::StateChanged( StateChangedType nStateChange ) // do we have a handle column? bool bHandleCol = !pCols->empty() && (0 == (*pCols)[ 0 ]->GetId()); // do we have a header bar? - bool bHeaderBar = (NULL != static_cast<BrowserDataWin&>(GetDataWindow()).pHeaderBar); + bool bHeaderBar = (NULL != static_cast<BrowserDataWin&>(GetDataWindow()).pHeaderBar.get()); if ( nTitleLines && ( !bHeaderBar @@ -407,9 +407,9 @@ void BrowseBox::DrawCursor() { // on these platforms, the StarView focus works correctly if ( bReallyHide ) - static_cast<Control*>(pDataWin)->HideFocus(); + static_cast<Control*>(pDataWin.get())->HideFocus(); else - static_cast<Control*>(pDataWin)->ShowFocus( aCursor ); + static_cast<Control*>(pDataWin.get())->ShowFocus( aCursor ); } else { @@ -623,7 +623,7 @@ void BrowseBox::Paint( const Rectangle& rRect ) BrowserColumn *pFirstCol = (*pCols)[ 0 ]; bool bHandleCol = pFirstCol && pFirstCol->GetId() == 0; - bool bHeaderBar = getDataWindow()->pHeaderBar != NULL; + bool bHeaderBar = getDataWindow()->pHeaderBar.get() != NULL; // draw delimitational lines if ( !getDataWindow()->bNoHScroll ) @@ -1119,7 +1119,7 @@ void BrowseBox::UpdateScrollbars() return; // protect against recursion - BrowserDataWin *pBDW = static_cast<BrowserDataWin*>( pDataWin ); + BrowserDataWin *pBDW = static_cast<BrowserDataWin*>( pDataWin.get() ); if ( pBDW->bInUpdateScrollbars ) { pBDW->bHadRecursion = true; @@ -1258,7 +1258,7 @@ void BrowseBox::UpdateScrollbars() getDataWindow()->pCornerWin->Show(); } else - DELETEZ( getDataWindow()->pCornerWin ); + getDataWindow()->pCornerWin.clear(); // scroll headerbar, if necessary if ( getDataWindow()->pHeaderBar ) @@ -1539,7 +1539,7 @@ void BrowseBox::MouseButtonUp( const MouseEvent & rEvt ) bResizing = false; } else - MouseButtonUp( BrowserMouseEvent( static_cast<BrowserDataWin*>(pDataWin), + MouseButtonUp( BrowserMouseEvent( static_cast<BrowserDataWin*>(pDataWin.get()), MouseEvent( Point( rEvt.GetPosPixel().X(), rEvt.GetPosPixel().Y() - pDataWin->GetPosPixel().Y() ), rEvt.GetClicks(), rEvt.GetMode(), rEvt.GetButtons(), diff --git a/svtools/source/brwbox/brwhead.cxx b/svtools/source/brwbox/brwhead.cxx index e3758a98c177..6cfbf57c9134 100644 --- a/svtools/source/brwbox/brwhead.cxx +++ b/svtools/source/brwbox/brwhead.cxx @@ -36,6 +36,18 @@ BrowserHeader::BrowserHeader( BrowseBox* pParent, WinBits nWinBits ) } +BrowserHeader::~BrowserHeader() +{ + dispose(); +} + +void BrowserHeader::dispose() +{ + _pBrowseBox.clear(); + HeaderBar::dispose(); +} + + void BrowserHeader::Command( const CommandEvent& rCEvt ) { diff --git a/svtools/source/brwbox/datwin.cxx b/svtools/source/brwbox/datwin.cxx index 4faea385bf09..682595a00b7c 100644 --- a/svtools/source/brwbox/datwin.cxx +++ b/svtools/source/brwbox/datwin.cxx @@ -237,6 +237,9 @@ void BrowserDataWin::dispose() for ( size_t i = 0, n = aInvalidRegion.size(); i < n; ++i ) delete aInvalidRegion[ i ]; aInvalidRegion.clear(); + pHeaderBar.clear(); + pEventWin.clear(); + pCornerWin.clear(); Control::dispose(); } @@ -727,7 +730,16 @@ void BrowserDataWin::Invalidate( const Rectangle& rRect, sal_uInt16 nFlags ) Window::Invalidate( rRect, nFlags ); } +BrowserScrollBar::~BrowserScrollBar() +{ + dispose(); +} +void BrowserScrollBar::dispose() +{ + _pDataWin.clear(); + ScrollBar::dispose(); +} void BrowserScrollBar::Tracking( const TrackingEvent& rTEvt ) { diff --git a/svtools/source/brwbox/datwin.hxx b/svtools/source/brwbox/datwin.hxx index b4fd34b0ff16..08f2432dd1a6 100644 --- a/svtools/source/brwbox/datwin.hxx +++ b/svtools/source/brwbox/datwin.hxx @@ -103,9 +103,9 @@ class BrowserDataWin ,public DropTargetHelper { public: - BrowserHeader* pHeaderBar; // only for BROWSER_HEADERBAR_NEW - vcl::Window* pEventWin; // Window of forwarded events - ScrollBarBox* pCornerWin; // Window in the corner btw the ScrollBars + VclPtr<BrowserHeader> pHeaderBar; // only for BROWSER_HEADERBAR_NEW + VclPtr<vcl::Window> pEventWin; // Window of forwarded events + VclPtr<ScrollBarBox> pCornerWin; // Window in the corner btw the ScrollBars bool bInDtor; AutoTimer aMouseTimer; // recalls MouseMove on dragging out MouseEvent aRepeatEvt; // a MouseEvent to repeat @@ -197,7 +197,7 @@ class BrowserScrollBar: public ScrollBar { sal_uLong _nTip; sal_uLong _nLastPos; - BrowserDataWin* _pDataWin; + VclPtr<BrowserDataWin> _pDataWin; public: BrowserScrollBar( vcl::Window* pParent, WinBits nStyle, @@ -207,6 +207,8 @@ public: _nLastPos( ULONG_MAX ), _pDataWin( pDataWin ) {} + virtual ~BrowserScrollBar(); + virtual void dispose() SAL_OVERRIDE; //ScrollBar( vcl::Window* pParent, const ResId& rResId ); virtual void Tracking( const TrackingEvent& rTEvt ) SAL_OVERRIDE; diff --git a/svtools/source/brwbox/ebbcontrols.cxx b/svtools/source/brwbox/ebbcontrols.cxx index b078375ef2ce..532e3409dba4 100644 --- a/svtools/source/brwbox/ebbcontrols.cxx +++ b/svtools/source/brwbox/ebbcontrols.cxx @@ -254,7 +254,7 @@ namespace svt void CheckBoxControl::dispose() { - delete pBox; + pBox.clear(); Control::dispose(); } diff --git a/svtools/source/brwbox/editbrowsebox.cxx b/svtools/source/brwbox/editbrowsebox.cxx index 597ce9433aa4..1dc9adf8f4ac 100644 --- a/svtools/source/brwbox/editbrowsebox.cxx +++ b/svtools/source/brwbox/editbrowsebox.cxx @@ -195,7 +195,9 @@ namespace svt if (nCellModifiedEvent) Application::RemoveUserEvent(nCellModifiedEvent); - delete pCheckBoxPaint; + pCheckBoxPaint.clear(); + m_pFocusWhileRequest.clear(); + pHeader.clear(); BrowseBox::dispose(); } @@ -256,7 +258,7 @@ namespace svt if (IsEditing()) { EnableAndShow(); - if (!aController->GetWindow().HasFocus() && (m_pFocusWhileRequest == Application::GetFocusWindow())) + if (!aController->GetWindow().HasFocus() && (m_pFocusWhileRequest.get() == Application::GetFocusWindow())) aController->GetWindow().GrabFocus(); } return 0; diff --git a/svtools/source/contnr/fileview.cxx b/svtools/source/contnr/fileview.cxx index e36c2f513041..accd044b9e50 100644 --- a/svtools/source/contnr/fileview.cxx +++ b/svtools/source/contnr/fileview.cxx @@ -168,7 +168,7 @@ private: Reference< XCommandEnvironment > mxCmdEnv; ::osl::Mutex maMutex; - HeaderBar* mpHeaderBar; + VclPtr<HeaderBar> mpHeaderBar; SvtFileView_Impl* mpParent; Timer maResetQuickSearch; OUString maQuickSearchText; @@ -406,7 +406,7 @@ class SvtFileView_Impl :public ::svt::IEnumerationResultHandler ,public ITimeoutHandler { protected: - SvtFileView* mpAntiImpl; + VclPtr<SvtFileView> mpAntiImpl; Link m_aSelectHandler; ::rtl::Reference< ::svt::FileViewContentEnumerator > @@ -424,7 +424,7 @@ public: ::std::vector< SortingData_Impl* > maContent; ::osl::Mutex maMutex; - ViewTabListBox_Impl* mpView; + VclPtr<ViewTabListBox_Impl> mpView; NameTranslator_Impl* mpNameTrans; sal_uInt16 mnSortColumn; bool mbAscending : 1; @@ -642,7 +642,7 @@ void ViewTabListBox_Impl::dispose() { maResetQuickSearch.Stop(); - delete mpHeaderBar; + mpHeaderBar.clear(); SvHeaderTabListBox::dispose(); } @@ -2334,6 +2334,17 @@ QueryDeleteDlg_Impl::QueryDeleteDlg_Impl(vcl::Window* pParent, const OUString& r set_secondary_text(get_secondary_text().replaceFirst("%s", rName)); } +QueryDeleteDlg_Impl::~QueryDeleteDlg_Impl() +{ + dispose(); +} + +void QueryDeleteDlg_Impl::dispose() +{ + m_pAllButton.clear(); + MessageDialog::dispose(); +} + } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svtools/source/contnr/imivctl.hxx b/svtools/source/contnr/imivctl.hxx index 71a175195db1..c17497f5acb8 100644 --- a/svtools/source/contnr/imivctl.hxx +++ b/svtools/source/contnr/imivctl.hxx @@ -179,14 +179,14 @@ class SvxIconChoiceCtrl_Impl Point aDDLastRectPos; Point aDDPaintOffs; Point aDDStartPos; - SvtIconChoiceCtrl* pView; + VclPtr<SvtIconChoiceCtrl> pView; IcnCursor_Impl* pImpCursor; IcnGridMap_Impl* pGridMap; long nMaxVirtWidth; // max. width aVirtOutputSize for ALIGN_TOP long nMaxVirtHeight; // max. height aVirtOutputSize for ALIGN_LEFT SvxIconChoiceCtrlEntryList_impl* pZOrderList; SvxIconChoiceCtrlColumnInfoMap* pColumns; - IcnViewEdit_Impl* pEdit; + VclPtr<IcnViewEdit_Impl> pEdit; WinBits nWinBits; long nMaxBoundHeight; // height of highest BoundRects sal_uInt16 nFlags; diff --git a/svtools/source/contnr/imivctl1.cxx b/svtools/source/contnr/imivctl1.cxx index 9f26c98ca2d3..1afc9e3120f1 100644 --- a/svtools/source/contnr/imivctl1.cxx +++ b/svtools/source/contnr/imivctl1.cxx @@ -157,7 +157,7 @@ SvxIconChoiceCtrl_Impl::SvxIconChoiceCtrl_Impl( SvxIconChoiceCtrl_Impl::~SvxIconChoiceCtrl_Impl() { pCurEditedEntry = 0; - DELETEZ(pEdit); + pEdit.clear(); Clear(); StopEditTimer(); CancelUserEvents(); @@ -3127,7 +3127,7 @@ void SvxIconChoiceCtrl_Impl::EditEntry( SvxIconChoiceCtrlEntry* pEntry ) return; StopEntryEditing( true ); - DELETEZ(pEdit); + pEdit.clear(); SetNoSelection(); pCurEditedEntry = pEntry; diff --git a/svtools/source/contnr/simptabl.cxx b/svtools/source/contnr/simptabl.cxx index aab0683c85dd..61e9bd2a70f7 100644 --- a/svtools/source/contnr/simptabl.cxx +++ b/svtools/source/contnr/simptabl.cxx @@ -31,6 +31,17 @@ SvSimpleTableContainer::SvSimpleTableContainer(vcl::Window* pParent, WinBits nBi { } +SvSimpleTableContainer::~SvSimpleTableContainer() +{ + dispose(); +} + +void SvSimpleTableContainer::dispose() +{ + m_pTable.clear(); + Control::dispose(); +} + extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeSvSimpleTableContainer(vcl::Window *pParent, VclBuilder::stringmap &) { diff --git a/svtools/source/contnr/svtabbx.cxx b/svtools/source/contnr/svtabbx.cxx index a48a8cbbcf50..afb886d1993c 100644 --- a/svtools/source/contnr/svtabbx.cxx +++ b/svtools/source/contnr/svtabbx.cxx @@ -503,7 +503,7 @@ namespace svt { struct SvHeaderTabListBoxImpl { - HeaderBar* m_pHeaderBar; + VclPtr<HeaderBar> m_pHeaderBar; AccessibleFactoryAccess m_aFactoryAccess; SvHeaderTabListBoxImpl() : m_pHeaderBar( NULL ) { } diff --git a/svtools/source/contnr/treelistbox.cxx b/svtools/source/contnr/treelistbox.cxx index 37e08bb37a1a..ae35ee1fd6a5 100644 --- a/svtools/source/contnr/treelistbox.cxx +++ b/svtools/source/contnr/treelistbox.cxx @@ -166,7 +166,7 @@ SvInplaceEdit2::~SvInplaceEdit2() Application::RemoveAccel( &aAccReturn ); Application::RemoveAccel( &aAccEscape ); } - delete pEdit; + pEdit.clear(); } OUString SvInplaceEdit2::GetSavedValue() const diff --git a/svtools/source/control/calendar.cxx b/svtools/source/control/calendar.cxx index a0d1c0682bb6..02a8e135cf13 100644 --- a/svtools/source/control/calendar.cxx +++ b/svtools/source/control/calendar.cxx @@ -2189,10 +2189,10 @@ Size Calendar::CalcWindowSizePixel( long nCalcMonthPerLine, class ImplCFieldFloatWin : public FloatingWindow { private: - Calendar* mpCalendar; - PushButton* mpTodayBtn; - PushButton* mpNoneBtn; - FixedLine* mpFixedLine; + VclPtr<Calendar> mpCalendar; + VclPtr<PushButton> mpTodayBtn; + VclPtr<PushButton> mpNoneBtn; + VclPtr<FixedLine> mpFixedLine; public: ImplCFieldFloatWin( vcl::Window* pParent ); @@ -2229,9 +2229,10 @@ ImplCFieldFloatWin::~ImplCFieldFloatWin() void ImplCFieldFloatWin::dispose() { - delete mpTodayBtn; - delete mpNoneBtn; - delete mpFixedLine; + mpTodayBtn.clear(); + mpNoneBtn.clear(); + mpFixedLine.clear(); + mpCalendar.clear(); FloatingWindow::dispose(); } @@ -2257,11 +2258,7 @@ PushButton* ImplCFieldFloatWin::EnableTodayBtn( bool bEnable ) } else { - if ( mpTodayBtn ) - { - delete mpTodayBtn; - mpTodayBtn = NULL; - } + mpTodayBtn.clear(); } return mpTodayBtn; @@ -2289,11 +2286,7 @@ PushButton* ImplCFieldFloatWin::EnableNoneBtn( bool bEnable ) } else { - if ( mpNoneBtn ) - { - delete mpNoneBtn; - mpNoneBtn = NULL; - } + mpNoneBtn.clear(); } return mpNoneBtn; @@ -2357,11 +2350,7 @@ void ImplCFieldFloatWin::ArrangeButtons() } else { - if ( mpFixedLine ) - { - delete mpFixedLine; - mpFixedLine = NULL; - } + mpFixedLine.clear(); } } @@ -2399,11 +2388,10 @@ CalendarField::~CalendarField() void CalendarField::dispose() { - if ( mpFloatWin ) - { - delete mpCalendar; - delete mpFloatWin; - } + mpCalendar.clear(); + mpFloatWin.clear(); + mpTodayBtn.clear(); + mpNoneBtn.clear(); DateField::dispose(); } diff --git a/svtools/source/control/inettbc.cxx b/svtools/source/control/inettbc.cxx index 826038018245..7f39ff6a30fb 100644 --- a/svtools/source/control/inettbc.cxx +++ b/svtools/source/control/inettbc.cxx @@ -91,13 +91,13 @@ class SvtMatchContext_Impl: public salhelper::Thread { static ::osl::Mutex* pDirMutex; - std::vector<OUString> aPickList; - std::vector<OUString> aCompletions; - std::vector<OUString> aURLs; + std::vector<OUString> aPickList; + std::vector<OUString> aCompletions; + std::vector<OUString> aURLs; svtools::AsynchronLink aLink; OUString aBaseURL; OUString aText; - SvtURLBox* pBox; + VclPtr<SvtURLBox> pBox; bool bOnlyDirectories; bool bNoSelection; diff --git a/svtools/source/control/roadmap.cxx b/svtools/source/control/roadmap.cxx index 9e40446eb02f..6a5e20bdd6c2 100644 --- a/svtools/source/control/roadmap.cxx +++ b/svtools/source/control/roadmap.cxx @@ -51,8 +51,8 @@ namespace svt class RoadmapItem : public RoadmapTypes { private: - IDLabel* mpID; - HyperLabel* mpDescription; + VclPtr<IDLabel> mpID; + VclPtr<HyperLabel> mpDescription; const Size m_aItemPlayground; public: diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx index ab6e8d0c49ba..f39c1b748b58 100644 --- a/svtools/source/control/tabbar.cxx +++ b/svtools/source/control/tabbar.cxx @@ -328,13 +328,13 @@ IMPL_LINK_NOARG(TabBarEdit, ImplEndTimerHdl) struct TabBar_Impl { - std::unique_ptr<ImplTabSizer> mpSizer; - std::unique_ptr<ImplTabButton> mpFirstButton; - std::unique_ptr<ImplTabButton> mpPrevButton; - std::unique_ptr<ImplTabButton> mpNextButton; - std::unique_ptr<ImplTabButton> mpLastButton; - std::unique_ptr<TabBarEdit> mpEdit; - ImplTabBarList mpItemList; + VclPtr<ImplTabSizer> mpSizer; + VclPtr<ImplTabButton> mpFirstButton; + VclPtr<ImplTabButton> mpPrevButton; + VclPtr<ImplTabButton> mpNextButton; + VclPtr<ImplTabButton> mpLastButton; + VclPtr<TabBarEdit> mpEdit; + ImplTabBarList mpItemList; svt::AccessibleFactoryAccess maAccessibleFactory; @@ -355,6 +355,12 @@ struct TabBar_Impl delete mpItemList[i]; } mpItemList.clear(); + + mpPrevBtn.disposeAndClear(); + mpNextBtn.disposeAndClear(); + mpFirstBtn.disposeAndClear(); + mpLastBtn.disposeAndClear(); + mpEdit.disposeAndClear(); } sal_uInt16 getItemSize() @@ -378,6 +384,7 @@ TabBar::~TabBar() void TabBar::dispose() { EndEditMode( true ); + mpImpl.reset(); Window::dispose(); } @@ -661,9 +668,7 @@ void TabBar::ImplInitControls() mpImpl->mpSizer->Show(); } else - { - mpImpl->mpSizer.reset(); - } + mpImpl->mpSizer.disposeAndClear(); Link aLink = LINK( this, TabBar, ImplClickHdl ); @@ -687,8 +692,8 @@ void TabBar::ImplInitControls() } else { - mpImpl->mpPrevButton.reset(); - mpImpl->mpNextButton.reset(); + mpImpl->mpPrevButton.disposeAndClear(); + mpImpl->mpNextButton.disposeAndClear(); } if ( mnWinStyle & WB_SCROLL ) @@ -711,8 +716,8 @@ void TabBar::ImplInitControls() } else { - mpImpl->mpFirstButton.reset(); - mpImpl->mpLastButton.reset(); + mpImpl->mpFirstButton.disposeAndClear(); + mpImpl->mpLastButton.disposeAndClear(); } mbHasInsertTab = (mnWinStyle & WB_INSERTTAB); @@ -2268,7 +2273,8 @@ void TabBar::EndEditMode( bool bCancel ) else { // close edit and call end hdl - mpImpl->mpEdit.reset(); + mpImpl->mpEdit.disposeAndClear(); + EndRenaming(); mnEditId = 0; } diff --git a/svtools/source/control/toolbarmenu.cxx b/svtools/source/control/toolbarmenu.cxx index 39ced9f0f453..1cf6fc5b1100 100644 --- a/svtools/source/control/toolbarmenu.cxx +++ b/svtools/source/control/toolbarmenu.cxx @@ -129,7 +129,7 @@ ToolbarMenuEntry::~ToolbarMenuEntry() xComponent->dispose(); mxAccContext.clear(); } - delete mpControl; + mpControl.clear(); } @@ -292,7 +292,7 @@ Reference< XAccessible > ToolbarMenu_Impl::getAccessibleChild( Control* pControl for( int nEntry = 0; nEntry < nEntryCount; nEntry++ ) { ToolbarMenuEntry* pEntry = maEntryVector[nEntry]; - if( pEntry && (pEntry->mpControl == pControl) ) + if( pEntry && (pEntry->mpControl.get() == pControl) ) { return pEntry->getAccessibleChild( childIndex ); } @@ -393,7 +393,7 @@ void ToolbarMenu_Impl::notifyHighlightedEntry() { sal_Int32 nChildIndex = 0; // todo: if other controls than ValueSet are allowed, addapt this code - ValueSet* pValueSet = dynamic_cast< ValueSet* >( pEntry->mpControl ); + ValueSet* pValueSet = dynamic_cast< ValueSet* >( pEntry->mpControl.get() ); if( pValueSet ) nChildIndex = static_cast< sal_Int32 >( pValueSet->GetItemPos( pValueSet->GetSelectItemId() ) ); @@ -874,7 +874,7 @@ void ToolbarMenu::implHighlightEntry( int nHighlightEntry, bool bHighlight ) { if( !bHighlight ) { - ValueSet* pValueSet = dynamic_cast< ValueSet* >( pEntry->mpControl ); + ValueSet* pValueSet = dynamic_cast< ValueSet* >( pEntry->mpControl.get() ); if( pValueSet ) { pValueSet->SetNoSelection(); @@ -1577,7 +1577,7 @@ public: virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE; - ToolbarMenu* mpMenu; + VclPtr<ToolbarMenu> mpMenu; }; @@ -1594,7 +1594,7 @@ ToolbarMenuStatusListener::ToolbarMenuStatusListener( void SAL_CALL ToolbarMenuStatusListener::dispose() throw (::com::sun::star::uno::RuntimeException, std::exception) { - mpMenu = 0; + mpMenu.clear(); svt::FrameStatusListener::dispose(); } diff --git a/svtools/source/control/toolbarmenuimp.hxx b/svtools/source/control/toolbarmenuimp.hxx index 8029dea5b303..727221b9d688 100644 --- a/svtools/source/control/toolbarmenuimp.hxx +++ b/svtools/source/control/toolbarmenuimp.hxx @@ -76,7 +76,7 @@ public: OUString maText; Image maImage; - Control* mpControl; + VclPtr<Control> mpControl; Rectangle maRect; ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > mxAccContext; diff --git a/svtools/source/control/valueacc.cxx b/svtools/source/control/valueacc.cxx index f552ee5d030c..8bf34c828c85 100644 --- a/svtools/source/control/valueacc.cxx +++ b/svtools/source/control/valueacc.cxx @@ -755,7 +755,7 @@ void ValueSetAcc::ThrowIfDisposed (void) } else { - DBG_ASSERT (mpParent!=NULL, "ValueSetAcc not disposed but mpParent == NULL"); + DBG_ASSERT (mpParent!=nullptr, "ValueSetAcc not disposed but mpParent == NULL"); } } diff --git a/svtools/source/control/valueimp.hxx b/svtools/source/control/valueimp.hxx index d04207434810..fc19f7155898 100644 --- a/svtools/source/control/valueimp.hxx +++ b/svtools/source/control/valueimp.hxx @@ -105,7 +105,7 @@ public: // XComponent virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE - { WeakComponentImplHelperBase::dispose(); } + { mpParent.clear(); WeakComponentImplHelperBase::dispose(); } virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE { WeakComponentImplHelperBase::addEventListener(xListener); } virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE @@ -156,7 +156,7 @@ public: private: ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener > > mxEventListeners; - ValueSet* mpParent; + VclPtr<ValueSet> mpParent; bool mbIsTransientChildrenDisabled; /// The current FOCUSED state. bool mbIsFocused; diff --git a/svtools/source/dialogs/PlaceEditDialog.cxx b/svtools/source/dialogs/PlaceEditDialog.cxx index b4461747aab5..0539d5bdb21b 100644 --- a/svtools/source/dialogs/PlaceEditDialog.cxx +++ b/svtools/source/dialogs/PlaceEditDialog.cxx @@ -79,6 +79,22 @@ PlaceEditDialog::PlaceEditDialog(vcl::Window* pParent, const std::shared_ptr<Pla } } +PlaceEditDialog::~PlaceEditDialog() +{ + dispose(); +} + +void PlaceEditDialog::dispose() +{ + m_pEDServerName.clear(); + m_pLBServerType.clear(); + m_pEDUsername.clear(); + m_pBTOk.clear(); + m_pBTCancel.clear(); + m_pBTDelete.clear(); + ModalDialog::dispose(); +} + OUString PlaceEditDialog::GetServerUrl() { OUString sUrl; diff --git a/svtools/source/dialogs/addresstemplate.cxx b/svtools/source/dialogs/addresstemplate.cxx index 050cf49b4ee3..65cc4af04b2c 100644 --- a/svtools/source/dialogs/addresstemplate.cxx +++ b/svtools/source/dialogs/addresstemplate.cxx @@ -739,6 +739,10 @@ void AssignmentPersistentData::ImplCommit() void AddressBookSourceDialog::dispose() { delete m_pImpl; + m_pDatasource.clear(); + m_pAdministrateDatasources.clear(); + m_pTable.clear(); + m_pFieldScroller.clear(); ModalDialog::dispose(); } diff --git a/svtools/source/dialogs/colrdlg.cxx b/svtools/source/dialogs/colrdlg.cxx index 232aaf42e9b8..96ad7da2c80b 100644 --- a/svtools/source/dialogs/colrdlg.cxx +++ b/svtools/source/dialogs/colrdlg.cxx @@ -29,6 +29,7 @@ #include <toolkit/helper/vclunohelper.hxx> #include <svtools/colrdlg.hxx> +#include <vcl/window.hxx> using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; diff --git a/svtools/source/dialogs/prnsetup.cxx b/svtools/source/dialogs/prnsetup.cxx index f824d9c48992..77d6fcffca1f 100644 --- a/svtools/source/dialogs/prnsetup.cxx +++ b/svtools/source/dialogs/prnsetup.cxx @@ -252,6 +252,14 @@ void PrinterSetupDialog::dispose() { ImplFreePrnDlgListBox(m_pLbName, false); delete mpTempPrinter; + mpTempPrinter = NULL; + m_pLbName.clear(); + m_pBtnProperties.clear(); + m_pBtnOptions.clear(); + m_pFiStatus.clear(); + m_pFiType.clear(); + m_pFiLocation.clear(); + m_pFiComment.clear(); ModalDialog::dispose(); } diff --git a/svtools/source/dialogs/restartdialog.cxx b/svtools/source/dialogs/restartdialog.cxx index d116d9b1bfc2..282553b606c5 100644 --- a/svtools/source/dialogs/restartdialog.cxx +++ b/svtools/source/dialogs/restartdialog.cxx @@ -47,14 +47,21 @@ public: btnYes_->SetClickHdl(LINK(this, RestartDialog, hdlYes)); btnNo_->SetClickHdl(LINK(this, RestartDialog, hdlNo)); } - + virtual ~RestartDialog() { dispose(); } + virtual void dispose() SAL_OVERRIDE + { + reason_.clear(); + btnYes_.clear(); + btnNo_.clear(); + ModalDialog::dispose(); + } private: DECL_LINK(hdlYes, void *); DECL_LINK(hdlNo, void *); - vcl::Window * reason_; - PushButton * btnYes_; - PushButton * btnNo_; + VclPtr<vcl::Window> reason_; + VclPtr<PushButton> btnYes_; + VclPtr<PushButton> btnNo_; }; IMPL_LINK_NOARG(RestartDialog, hdlYes) { diff --git a/svtools/source/dialogs/roadmapwizard.cxx b/svtools/source/dialogs/roadmapwizard.cxx index 68291f9f1646..1c398cf4767c 100644 --- a/svtools/source/dialogs/roadmapwizard.cxx +++ b/svtools/source/dialogs/roadmapwizard.cxx @@ -55,7 +55,7 @@ namespace svt struct RoadmapWizardImpl : public RoadmapWizardTypes { - ORoadmap* pRoadmap; + VclPtr<ORoadmap> pRoadmap; Paths aPaths; PathId nActivePath; StateDescriptions aStateDescriptors; @@ -69,11 +69,6 @@ namespace svt { } - ~RoadmapWizardImpl() - { - delete pRoadmap; - } - /// returns the index of the current state in given path, or -1 static sal_Int32 getStateIndexInPath( WizardTypes::WizardState _nState, const WizardPath& _rPath ); /// returns the index of the current state in the path with the given id, or -1 diff --git a/svtools/source/dialogs/wizardmachine.cxx b/svtools/source/dialogs/wizardmachine.cxx index 79ffe8649fe3..6cf4a62e5301 100644 --- a/svtools/source/dialogs/wizardmachine.cxx +++ b/svtools/source/dialogs/wizardmachine.cxx @@ -207,11 +207,11 @@ namespace svt void OWizardMachine::dispose() { - delete m_pFinish; - delete m_pCancel; - delete m_pNextPage; - delete m_pPrevPage; - delete m_pHelp; + m_pFinish.clear(); + m_pCancel.clear(); + m_pNextPage.clear(); + m_pPrevPage.clear(); + m_pHelp.clear(); for (WizardState i=0; i<m_pImpl->nFirstUnknownPage; ++i) delete GetPage(i); diff --git a/svtools/source/dialogs/wizdlg.cxx b/svtools/source/dialogs/wizdlg.cxx index c38c6944678d..890cbc491d06 100644 --- a/svtools/source/dialogs/wizdlg.cxx +++ b/svtools/source/dialogs/wizdlg.cxx @@ -34,7 +34,7 @@ struct ImplWizPageData { ImplWizPageData* mpNext; - TabPage* mpPage; + VclPtr<TabPage> mpPage; }; @@ -42,7 +42,7 @@ struct ImplWizPageData struct ImplWizButtonData { ImplWizButtonData* mpNext; - Button* mpButton; + VclPtr<Button> mpButton; long mnOffset; }; @@ -378,6 +378,10 @@ void WizardDialog::dispose() while ( mpFirstPage ) RemovePage( mpFirstPage->mpPage ); + mpCurTabPage.clear(); + mpPrevBtn.clear(); + mpNextBtn.clear(); + mpViewWindow.clear(); ModalDialog::dispose(); } diff --git a/svtools/source/filter/GraphicExportOptionsDialog.cxx b/svtools/source/filter/GraphicExportOptionsDialog.cxx index 3fe1d195a35a..da1f2d31a97b 100644 --- a/svtools/source/filter/GraphicExportOptionsDialog.cxx +++ b/svtools/source/filter/GraphicExportOptionsDialog.cxx @@ -43,6 +43,19 @@ GraphicExportOptionsDialog::GraphicExportOptionsDialog(vcl::Window* pWindow, con updateResolution(); } +GraphicExportOptionsDialog::~GraphicExportOptionsDialog() +{ + dispose(); +} + +void GraphicExportOptionsDialog::dispose() +{ + mpWidth.clear(); + mpHeight.clear(); + mpResolution.clear(); + ModalDialog::dispose(); +} + void GraphicExportOptionsDialog::initialize() { mCurrentPage = mRenderer.getCurrentPageWriter(); diff --git a/svtools/source/filter/exportdialog.cxx b/svtools/source/filter/exportdialog.cxx index 5c63ea853727..93019937a509 100644 --- a/svtools/source/filter/exportdialog.cxx +++ b/svtools/source/filter/exportdialog.cxx @@ -986,6 +986,39 @@ void ExportDialog::dispose() { delete mpFilterOptionsItem; delete mpOptionsItem; + mpMfSizeX.clear(); + mpLbSizeX.clear(); + mpMfSizeY.clear(); + mpFtResolution.clear(); + mpNfResolution.clear(); + mpLbResolution.clear(); + mpColorDepth.clear(); + mpLbColorDepth.clear(); + mpJPGQuality.clear(); + mpPNGCompression.clear(); + mpSbCompression.clear(); + mpNfCompression.clear(); + mpMode.clear(); + mpCbInterlaced.clear(); + mpBMPCompression.clear(); + mpCbRLEEncoding.clear(); + mpDrawingObjects.clear(); + mpCbSaveTransparency.clear(); + mpEncoding.clear(); + mpRbBinary.clear(); + mpRbText.clear(); + mpEPSGrid.clear(); + mpCbEPSPreviewTIFF.clear(); + mpCbEPSPreviewEPSI.clear(); + mpRbEPSLevel1.clear(); + mpRbEPSLevel2.clear(); + mpRbEPSColorFormat1.clear(); + mpRbEPSColorFormat2.clear(); + mpRbEPSCompressionLZW.clear(); + mpRbEPSCompressionNone.clear(); + mpInfo.clear(); + mpFtEstimatedSize.clear(); + mpBtnOK.clear(); ModalDialog::dispose(); } diff --git a/svtools/source/filter/exportdialog.hxx b/svtools/source/filter/exportdialog.hxx index 8defef2bfd7f..4df7cdc0f5a3 100644 --- a/svtools/source/filter/exportdialog.hxx +++ b/svtools/source/filter/exportdialog.hxx @@ -53,49 +53,49 @@ private: const com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& mxSourceDocument; - NumericField* mpMfSizeX; - ListBox* mpLbSizeX; - NumericField* mpMfSizeY; - FixedText* mpFtResolution; - NumericField* mpNfResolution; - ListBox* mpLbResolution; + VclPtr<NumericField> mpMfSizeX; + VclPtr<ListBox> mpLbSizeX; + VclPtr<NumericField> mpMfSizeY; + VclPtr<FixedText> mpFtResolution; + VclPtr<NumericField> mpNfResolution; + VclPtr<ListBox> mpLbResolution; - VclContainer* mpColorDepth; - ListBox* mpLbColorDepth; + VclPtr<VclContainer> mpColorDepth; + VclPtr<ListBox> mpLbColorDepth; - VclContainer* mpJPGQuality; - VclContainer* mpPNGCompression; + VclPtr<VclContainer> mpJPGQuality; + VclPtr<VclContainer> mpPNGCompression; - ScrollBar* mpSbCompression; - NumericField* mpNfCompression; + VclPtr<ScrollBar> mpSbCompression; + VclPtr<NumericField> mpNfCompression; - VclContainer* mpMode; - CheckBox* mpCbInterlaced; + VclPtr<VclContainer> mpMode; + VclPtr<CheckBox> mpCbInterlaced; - VclContainer* mpBMPCompression; - CheckBox* mpCbRLEEncoding; + VclPtr<VclContainer> mpBMPCompression; + VclPtr<CheckBox> mpCbRLEEncoding; - VclContainer* mpDrawingObjects; - CheckBox* mpCbSaveTransparency; + VclPtr<VclContainer> mpDrawingObjects; + VclPtr<CheckBox> mpCbSaveTransparency; - VclContainer* mpEncoding; - RadioButton* mpRbBinary; - RadioButton* mpRbText; + VclPtr<VclContainer> mpEncoding; + VclPtr<RadioButton> mpRbBinary; + VclPtr<RadioButton> mpRbText; - VclContainer* mpEPSGrid; - CheckBox* mpCbEPSPreviewTIFF; - CheckBox* mpCbEPSPreviewEPSI; - RadioButton* mpRbEPSLevel1; - RadioButton* mpRbEPSLevel2; - RadioButton* mpRbEPSColorFormat1; - RadioButton* mpRbEPSColorFormat2; - RadioButton* mpRbEPSCompressionLZW; - RadioButton* mpRbEPSCompressionNone; + VclPtr<VclContainer> mpEPSGrid; + VclPtr<CheckBox> mpCbEPSPreviewTIFF; + VclPtr<CheckBox> mpCbEPSPreviewEPSI; + VclPtr<RadioButton> mpRbEPSLevel1; + VclPtr<RadioButton> mpRbEPSLevel2; + VclPtr<RadioButton> mpRbEPSColorFormat1; + VclPtr<RadioButton> mpRbEPSColorFormat2; + VclPtr<RadioButton> mpRbEPSCompressionLZW; + VclPtr<RadioButton> mpRbEPSCompressionNone; - VclContainer* mpInfo; - FixedText* mpFtEstimatedSize; + VclPtr<VclContainer> mpInfo; + VclPtr<FixedText> mpFtEstimatedSize; - OKButton* mpBtnOK; + VclPtr<OKButton> mpBtnOK; OUString msEstimatedSizePix1; OUString msEstimatedSizePix2; diff --git a/svtools/source/hatchwindow/hatchwindow.cxx b/svtools/source/hatchwindow/hatchwindow.cxx index dc1828d08642..f31e8d14c0ec 100644 --- a/svtools/source/hatchwindow/hatchwindow.cxx +++ b/svtools/source/hatchwindow/hatchwindow.cxx @@ -188,7 +188,7 @@ void SAL_CALL VCLXHatchWindow::setController( const uno::Reference< embed::XHatc void SAL_CALL VCLXHatchWindow::dispose() throw (uno::RuntimeException, std::exception) { - pHatchWindow = 0; + pHatchWindow.clear(); VCLXWindow::dispose(); } diff --git a/svtools/source/inc/hatchwindow.hxx b/svtools/source/inc/hatchwindow.hxx index b08e13ee0e14..1fb06de64531 100644 --- a/svtools/source/inc/hatchwindow.hxx +++ b/svtools/source/inc/hatchwindow.hxx @@ -31,7 +31,7 @@ class VCLXHatchWindow : public ::com::sun::star::embed::XHatchWindow, { ::com::sun::star::uno::Reference< ::com::sun::star::embed::XHatchWindowController > m_xController; ::com::sun::star::awt::Size aHatchBorderSize; - SvResizeWindow* pHatchWindow; + VclPtr<SvResizeWindow> pHatchWindow; public: VCLXHatchWindow(); diff --git a/svtools/source/inc/svimpbox.hxx b/svtools/source/inc/svimpbox.hxx index 82683a5bca0e..4f0c79f5e3db 100644 --- a/svtools/source/inc/svimpbox.hxx +++ b/svtools/source/inc/svimpbox.hxx @@ -47,7 +47,7 @@ class ImpLBSelEng : public FunctionSet { SvImpLBox* pImp; SelectionEngine* pSelEng; - SvTreeListBox* pView; + VclPtr<SvTreeListBox> pView; public: ImpLBSelEng( SvImpLBox* pImp, SelectionEngine* pSelEng, @@ -86,7 +86,7 @@ class SvImpLBox friend class ImpLBSelEng; friend class SvTreeListBox; private: - SvTreeListBox* pView; + VclPtr<SvTreeListBox> pView; SvTreeList* pTree; SvTreeListEntry* pCursor; SvTreeListEntry* pStartEntry; diff --git a/svtools/source/misc/dialogcontrolling.cxx b/svtools/source/misc/dialogcontrolling.cxx index 987e841d01ce..b381c43d4bd7 100644 --- a/svtools/source/misc/dialogcontrolling.cxx +++ b/svtools/source/misc/dialogcontrolling.cxx @@ -50,7 +50,7 @@ namespace svt struct DialogController_Data { vcl::Window& rInstigator; - ::std::vector< vcl::Window* > aConcernedWindows; + ::std::vector< VclPtr<vcl::Window> > aConcernedWindows; PWindowEventFilter pEventFilter; PWindowOperator pOperator; @@ -111,7 +111,7 @@ namespace svt void DialogController::impl_updateAll( const VclWindowEvent& _rTriggerEvent ) { - for ( ::std::vector< vcl::Window* >::iterator loop = m_pImpl->aConcernedWindows.begin(); + for ( auto loop = m_pImpl->aConcernedWindows.begin(); loop != m_pImpl->aConcernedWindows.end(); ++loop ) diff --git a/svtools/source/table/tablecontrol_impl.cxx b/svtools/source/table/tablecontrol_impl.cxx index a9a7607a5c93..6e556b569e38 100644 --- a/svtools/source/table/tablecontrol_impl.cxx +++ b/svtools/source/table/tablecontrol_impl.cxx @@ -261,10 +261,6 @@ namespace svt { namespace table TableControl_Impl::~TableControl_Impl() { - - DELETEZ( m_pVScroll ); - DELETEZ( m_pHScroll ); - DELETEZ( m_pScrollCorner ); DELETEZ( m_pTableFunctionSet ); DELETEZ( m_pSelEngine ); } @@ -632,20 +628,20 @@ namespace svt { namespace table } - bool lcl_updateScrollbar( vcl::Window& _rParent, ScrollBar*& _rpBar, + bool lcl_updateScrollbar( vcl::Window& _rParent, VclPtr<ScrollBar>& _rpBar, bool const i_needBar, long _nVisibleUnits, long _nPosition, long _nLineSize, long _nRange, bool _bHorizontal, const Link& _rScrollHandler ) { // do we currently have the scrollbar? - bool bHaveBar = _rpBar != NULL; + bool bHaveBar = _rpBar != nullptr; // do we need to correct the scrollbar visibility? if ( bHaveBar && !i_needBar ) { if ( _rpBar->IsTracking() ) _rpBar->EndTracking(); - DELETEZ( _rpBar ); + _rpBar.clear(); } else if ( !bHaveBar && i_needBar ) { @@ -1162,11 +1158,11 @@ namespace svt { namespace table } // the corner window connecting the two scrollbars in the lower right corner - bool bHaveScrollCorner = NULL != m_pScrollCorner; - bool bNeedScrollCorner = ( NULL != m_pHScroll ) && ( NULL != m_pVScroll ); + bool bHaveScrollCorner = nullptr != m_pScrollCorner; + bool bNeedScrollCorner = ( nullptr != m_pHScroll ) && ( nullptr != m_pVScroll ); if ( bHaveScrollCorner && !bNeedScrollCorner ) { - DELETEZ( m_pScrollCorner ); + m_pScrollCorner.clear(); } else if ( !bHaveScrollCorner && bNeedScrollCorner ) { @@ -2111,7 +2107,7 @@ namespace svt { namespace table } // update the position at the vertical scrollbar - if ( m_pVScroll != NULL ) + if ( m_pVScroll != nullptr ) m_pVScroll->SetThumbPos( m_nTopRow ); } @@ -2189,7 +2185,7 @@ namespace svt { namespace table } // update the position at the horizontal scrollbar - if ( m_pHScroll != NULL ) + if ( m_pHScroll != nullptr ) m_pHScroll->SetThumbPos( m_nLeftColumn ); } diff --git a/svtools/source/table/tablecontrol_impl.hxx b/svtools/source/table/tablecontrol_impl.hxx index 5fef6fdd4062..530823a44e1c 100644 --- a/svtools/source/table/tablecontrol_impl.hxx +++ b/svtools/source/table/tablecontrol_impl.hxx @@ -125,10 +125,10 @@ namespace svt { namespace table ::boost::scoped_ptr< TableDataWindow > m_pDataWindow; /// the vertical scrollbar, if any - ScrollBar* m_pVScroll; + VclPtr<ScrollBar> m_pVScroll; /// the horizontal scrollbar, if any - ScrollBar* m_pHScroll; - ScrollBarBox* m_pScrollCorner; + VclPtr<ScrollBar> m_pHScroll; + VclPtr<ScrollBarBox> m_pScrollCorner; //selection engine - for determining selection range, e.g. single, multiple SelectionEngine* m_pSelEngine; //vector which contains the selected rows diff --git a/svtools/source/toolpanel/paneltabbarpeer.cxx b/svtools/source/toolpanel/paneltabbarpeer.cxx index 3a0c473732b1..4fd01f993999 100644 --- a/svtools/source/toolpanel/paneltabbarpeer.cxx +++ b/svtools/source/toolpanel/paneltabbarpeer.cxx @@ -64,7 +64,7 @@ namespace svt Reference< XAccessibleContext > PanelTabBarPeer::CreateAccessibleContext() { SolarMutexGuard aSolarGuard; - if ( m_pTabBar == NULL ) + if ( m_pTabBar == nullptr ) throw DisposedException( OUString(), *this ); @@ -80,7 +80,7 @@ namespace svt { { SolarMutexGuard aSolarGuard; - m_pTabBar = NULL; + m_pTabBar.clear(); } VCLXWindow::dispose(); } diff --git a/svtools/source/toolpanel/paneltabbarpeer.hxx b/svtools/source/toolpanel/paneltabbarpeer.hxx index 2c9601010208..9e0bc6709524 100644 --- a/svtools/source/toolpanel/paneltabbarpeer.hxx +++ b/svtools/source/toolpanel/paneltabbarpeer.hxx @@ -49,7 +49,7 @@ namespace svt private: AccessibleFactoryAccess m_aAccessibleFactory; - PanelTabBar* m_pTabBar; + VclPtr<PanelTabBar> m_pTabBar; }; diff --git a/svtools/source/toolpanel/toolpaneldeckpeer.cxx b/svtools/source/toolpanel/toolpaneldeckpeer.cxx index 333fa43c10d0..76f15af12ca3 100644 --- a/svtools/source/toolpanel/toolpaneldeckpeer.cxx +++ b/svtools/source/toolpanel/toolpaneldeckpeer.cxx @@ -64,7 +64,7 @@ namespace svt Reference< XAccessibleContext > ToolPanelDeckPeer::CreateAccessibleContext() { SolarMutexGuard aSolarGuard; - if ( m_pDeck == NULL ) + if ( m_pDeck == nullptr ) throw DisposedException( OUString(), *this ); vcl::Window* pAccessibleParent( m_pDeck->GetAccessibleParentWindow() ); @@ -78,7 +78,7 @@ namespace svt { { SolarMutexGuard aSolarGuard; - m_pDeck = NULL; + m_pDeck.clear(); } VCLXWindow::dispose(); } diff --git a/svtools/source/toolpanel/toolpaneldeckpeer.hxx b/svtools/source/toolpanel/toolpaneldeckpeer.hxx index daa177000128..2ced30f50c4b 100644 --- a/svtools/source/toolpanel/toolpaneldeckpeer.hxx +++ b/svtools/source/toolpanel/toolpaneldeckpeer.hxx @@ -49,7 +49,7 @@ namespace svt private: AccessibleFactoryAccess m_aAccessibleFactory; - ToolPanelDeck* m_pDeck; + VclPtr<ToolPanelDeck> m_pDeck; }; diff --git a/svtools/source/uno/addrtempuno.cxx b/svtools/source/uno/addrtempuno.cxx index 1a9a8645ba50..7b6aba43a7c9 100644 --- a/svtools/source/uno/addrtempuno.cxx +++ b/svtools/source/uno/addrtempuno.cxx @@ -134,7 +134,7 @@ namespace { if ( _nExecutionResult ) if ( m_pDialog ) - static_cast< AddressBookSourceDialog* >( m_pDialog )->getFieldMapping( m_aAliases ); + static_cast< AddressBookSourceDialog* >( m_pDialog.get() )->getFieldMapping( m_aAliases ); } void SAL_CALL OAddressBookSourceDialogUno::initialize(const Sequence< Any >& rArguments) throw(Exception, RuntimeException, std::exception) diff --git a/svtools/source/uno/generictoolboxcontroller.cxx b/svtools/source/uno/generictoolboxcontroller.cxx index 1c78816e63af..04e6203477a4 100644 --- a/svtools/source/uno/generictoolboxcontroller.cxx +++ b/svtools/source/uno/generictoolboxcontroller.cxx @@ -74,11 +74,9 @@ void SAL_CALL GenericToolboxController::dispose() throw ( RuntimeException, std::exception ) { SolarMutexGuard aSolarMutexGuard; - - svt::ToolboxController::dispose(); - - m_pToolbox = 0; + m_pToolbox.clear(); m_nID = 0; + svt::ToolboxController::dispose(); } void SAL_CALL GenericToolboxController::execute( sal_Int16 /*KeyModifier*/ ) diff --git a/svtools/source/uno/genericunodialog.cxx b/svtools/source/uno/genericunodialog.cxx index b0186d2c8dc0..4026b669386e 100644 --- a/svtools/source/uno/genericunodialog.cxx +++ b/svtools/source/uno/genericunodialog.cxx @@ -313,8 +313,7 @@ void SAL_CALL OGenericUnoDialog::initialize( const Sequence< Any >& aArguments ) void OGenericUnoDialog::destroyDialog() { - delete m_pDialog; - m_pDialog = NULL; + m_pDialog.clear(); } diff --git a/svtools/source/uno/popupwindowcontroller.cxx b/svtools/source/uno/popupwindowcontroller.cxx index aa6277a81c07..1f4bfced3026 100644 --- a/svtools/source/uno/popupwindowcontroller.cxx +++ b/svtools/source/uno/popupwindowcontroller.cxx @@ -47,8 +47,8 @@ public: DECL_STATIC_LINK( PopupWindowControllerImpl, AsyncDeleteWindowHdl, vcl::Window* ); private: - vcl::Window* mpPopupWindow; - ToolBox* mpToolBox; + VclPtr<vcl::Window> mpPopupWindow; + VclPtr<ToolBox> mpToolBox; }; PopupWindowControllerImpl::PopupWindowControllerImpl() @@ -99,7 +99,7 @@ IMPL_LINK( PopupWindowControllerImpl, WindowEventListener, VclSimpleEvent*, pEve mpToolBox->CallEventListeners( VCLEVENT_DROPDOWN_OPEN, (void*)mpPopupWindow ); mpPopupWindow->CallEventListeners( VCLEVENT_WINDOW_GETFOCUS, 0 ); - svtools::ToolbarMenu* pToolbarMenu = dynamic_cast< svtools::ToolbarMenu* >( mpPopupWindow ); + svtools::ToolbarMenu* pToolbarMenu = dynamic_cast< svtools::ToolbarMenu* >( mpPopupWindow.get() ); if( pToolbarMenu ) pToolbarMenu->highlightFirstEntry(); break; diff --git a/svtools/source/uno/treecontrolpeer.hxx b/svtools/source/uno/treecontrolpeer.hxx index 870a34fcbc7c..fb6a7870f2a6 100644 --- a/svtools/source/uno/treecontrolpeer.hxx +++ b/svtools/source/uno/treecontrolpeer.hxx @@ -159,7 +159,7 @@ private: TreeExpansionListenerMultiplexer maTreeExpansionListeners; TreeEditListenerMultiplexer maTreeEditListeners; bool mbIsRootDisplayed; - UnoTreeListBoxImpl* mpTreeImpl; + VclPtr<UnoTreeListBoxImpl> mpTreeImpl; sal_Int32 mnEditLock; OUString msDefaultCollapsedGraphicURL; OUString msDefaultExpandedGraphicURL; diff --git a/svtools/source/uno/wizard/unowizard.cxx b/svtools/source/uno/wizard/unowizard.cxx index c9d4a8f7d8e3..20e44f65b0a7 100644 --- a/svtools/source/uno/wizard/unowizard.cxx +++ b/svtools/source/uno/wizard/unowizard.cxx @@ -359,7 +359,7 @@ namespace { SolarMutexGuard aSolarGuard; ::osl::MutexGuard aGuard( m_aMutex ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::enableButtons: invalid dialog implementation!" ); pWizardImpl->enableButtons( lcl_convertWizardButtonToWZB( i_WizardButton ), i_Enable ); @@ -371,7 +371,7 @@ namespace { SolarMutexGuard aSolarGuard; ::osl::MutexGuard aGuard( m_aMutex ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::setDefaultButton: invalid dialog implementation!" ); pWizardImpl->defaultButton( lcl_convertWizardButtonToWZB( i_WizardButton ) ); @@ -383,7 +383,7 @@ namespace { SolarMutexGuard aSolarGuard; ::osl::MutexGuard aGuard( m_aMutex ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN_FALSE( pWizardImpl, "Wizard::travelNext: invalid dialog implementation!" ); return pWizardImpl->travelNext(); @@ -395,7 +395,7 @@ namespace { SolarMutexGuard aSolarGuard; ::osl::MutexGuard aGuard( m_aMutex ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN_FALSE( pWizardImpl, "Wizard::travelPrevious: invalid dialog implementation!" ); return pWizardImpl->travelPrevious(); @@ -407,7 +407,7 @@ namespace { SolarMutexGuard aSolarGuard; ::osl::MutexGuard aGuard( m_aMutex ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::enablePage: invalid dialog implementation!" ); if ( !pWizardImpl->knowsPage( i_PageID ) ) @@ -425,7 +425,7 @@ namespace { SolarMutexGuard aSolarGuard; ::osl::MutexGuard aGuard( m_aMutex ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::updateTravelUI: invalid dialog implementation!" ); pWizardImpl->updateTravelUI(); @@ -437,7 +437,7 @@ namespace { SolarMutexGuard aSolarGuard; ::osl::MutexGuard aGuard( m_aMutex ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN_FALSE( pWizardImpl, "Wizard::advanceTo: invalid dialog implementation!" ); return pWizardImpl->advanceTo( i_PageId ); @@ -449,7 +449,7 @@ namespace { SolarMutexGuard aSolarGuard; ::osl::MutexGuard aGuard( m_aMutex ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN_FALSE( pWizardImpl, "Wizard::goBackTo: invalid dialog implementation!" ); return pWizardImpl->goBackTo( i_PageId ); @@ -461,7 +461,7 @@ namespace { SolarMutexGuard aSolarGuard; ::osl::MutexGuard aGuard( m_aMutex ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN( pWizardImpl, "Wizard::getCurrentPage: invalid dialog implementation!", Reference< XWizardPage >() ); return pWizardImpl->getCurrentWizardPage(); @@ -476,7 +476,7 @@ namespace { if ( ( i_PathIndex < 0 ) || ( i_PathIndex >= m_aWizardSteps.getLength() ) ) throw NoSuchElementException( OUString(), *this ); - WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); + WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() ); ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::activatePath: invalid dialog implementation!" ); pWizardImpl->activatePath( i_PathIndex, i_Final ); diff --git a/svtools/source/uno/wizard/wizardshell.hxx b/svtools/source/uno/wizard/wizardshell.hxx index 19b6e72f67c6..17b4763f5a58 100644 --- a/svtools/source/uno/wizard/wizardshell.hxx +++ b/svtools/source/uno/wizard/wizardshell.hxx @@ -117,7 +117,7 @@ namespace svt { namespace uno using WizardShell_Base::activatePath; private: - typedef ::std::map< TabPage*, PWizardPageController > Page2ControllerMap; + typedef ::std::map< VclPtr<TabPage>, PWizardPageController > Page2ControllerMap; const ::com::sun::star::uno::Reference< ::com::sun::star::ui::dialogs::XWizardController > m_xController; const sal_Int16 m_nFirstPageID; |