summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
Diffstat (limited to 'svtools')
-rw-r--r--svtools/inc/vclxaccessibleheaderbar.hxx2
-rw-r--r--svtools/inc/vclxaccessibleheaderbaritem.hxx3
-rw-r--r--svtools/source/brwbox/brwbox1.cxx28
-rw-r--r--svtools/source/brwbox/brwbox2.cxx32
-rw-r--r--svtools/source/brwbox/brwhead.cxx12
-rw-r--r--svtools/source/brwbox/datwin.cxx12
-rw-r--r--svtools/source/brwbox/datwin.hxx10
-rw-r--r--svtools/source/brwbox/ebbcontrols.cxx2
-rw-r--r--svtools/source/brwbox/editbrowsebox.cxx6
-rw-r--r--svtools/source/contnr/fileview.cxx19
-rw-r--r--svtools/source/contnr/imivctl.hxx4
-rw-r--r--svtools/source/contnr/imivctl1.cxx4
-rw-r--r--svtools/source/contnr/simptabl.cxx11
-rw-r--r--svtools/source/contnr/svtabbx.cxx2
-rw-r--r--svtools/source/contnr/treelistbox.cxx2
-rw-r--r--svtools/source/control/calendar.cxx42
-rw-r--r--svtools/source/control/inettbc.cxx8
-rw-r--r--svtools/source/control/roadmap.cxx4
-rw-r--r--svtools/source/control/tabbar.cxx36
-rw-r--r--svtools/source/control/toolbarmenu.cxx12
-rw-r--r--svtools/source/control/toolbarmenuimp.hxx2
-rw-r--r--svtools/source/control/valueacc.cxx2
-rw-r--r--svtools/source/control/valueimp.hxx4
-rw-r--r--svtools/source/dialogs/PlaceEditDialog.cxx16
-rw-r--r--svtools/source/dialogs/addresstemplate.cxx4
-rw-r--r--svtools/source/dialogs/colrdlg.cxx1
-rw-r--r--svtools/source/dialogs/prnsetup.cxx8
-rw-r--r--svtools/source/dialogs/restartdialog.cxx15
-rw-r--r--svtools/source/dialogs/roadmapwizard.cxx7
-rw-r--r--svtools/source/dialogs/wizardmachine.cxx10
-rw-r--r--svtools/source/dialogs/wizdlg.cxx8
-rw-r--r--svtools/source/filter/GraphicExportOptionsDialog.cxx13
-rw-r--r--svtools/source/filter/exportdialog.cxx33
-rw-r--r--svtools/source/filter/exportdialog.hxx66
-rw-r--r--svtools/source/hatchwindow/hatchwindow.cxx2
-rw-r--r--svtools/source/inc/hatchwindow.hxx2
-rw-r--r--svtools/source/inc/svimpbox.hxx4
-rw-r--r--svtools/source/misc/dialogcontrolling.cxx4
-rw-r--r--svtools/source/table/tablecontrol_impl.cxx20
-rw-r--r--svtools/source/table/tablecontrol_impl.hxx6
-rw-r--r--svtools/source/toolpanel/paneltabbarpeer.cxx4
-rw-r--r--svtools/source/toolpanel/paneltabbarpeer.hxx2
-rw-r--r--svtools/source/toolpanel/toolpaneldeckpeer.cxx4
-rw-r--r--svtools/source/toolpanel/toolpaneldeckpeer.hxx2
-rw-r--r--svtools/source/uno/addrtempuno.cxx2
-rw-r--r--svtools/source/uno/generictoolboxcontroller.cxx6
-rw-r--r--svtools/source/uno/genericunodialog.cxx3
-rw-r--r--svtools/source/uno/popupwindowcontroller.cxx6
-rw-r--r--svtools/source/uno/treecontrolpeer.hxx2
-rw-r--r--svtools/source/uno/wizard/unowizard.cxx20
-rw-r--r--svtools/source/uno/wizard/wizardshell.hxx2
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;