summaryrefslogtreecommitdiff
path: root/sw/source/uibase/uiview/pview.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/uibase/uiview/pview.cxx')
-rw-r--r--sw/source/uibase/uiview/pview.cxx37
1 files changed, 23 insertions, 14 deletions
diff --git a/sw/source/uibase/uiview/pview.cxx b/sw/source/uibase/uiview/pview.cxx
index fa80f75052a0..ccd5cb168bd0 100644
--- a/sw/source/uibase/uiview/pview.cxx
+++ b/sw/source/uibase/uiview/pview.cxx
@@ -145,13 +145,15 @@ static void lcl_InvalidateZoomSlots(SfxBindings& rBindings)
// At first the zoom dialog
class SwPreviewZoomDlg : public SvxStandardDialog
{
- NumericField* m_pRowEdit;
- NumericField* m_pColEdit;
+ VclPtr<NumericField> m_pRowEdit;
+ VclPtr<NumericField> m_pColEdit;
virtual void Apply() SAL_OVERRIDE;
public:
SwPreviewZoomDlg( SwPagePreviewWin& rParent );
+ virtual ~SwPreviewZoomDlg();
+ virtual void dispose() SAL_OVERRIDE;
};
SwPreviewZoomDlg::SwPreviewZoomDlg( SwPagePreviewWin& rParent )
@@ -164,6 +166,18 @@ SwPreviewZoomDlg::SwPreviewZoomDlg( SwPagePreviewWin& rParent )
m_pColEdit->SetValue( rParent.GetCol() );
}
+SwPreviewZoomDlg::~SwPreviewZoomDlg()
+{
+ dispose();
+}
+
+void SwPreviewZoomDlg::dispose()
+{
+ m_pRowEdit.clear();
+ m_pColEdit.clear();
+ SvxStandardDialog::dispose();
+}
+
void SwPreviewZoomDlg::Apply()
{
static_cast<SwPagePreviewWin*>(GetParent())->CalcWish(
@@ -1224,11 +1238,6 @@ SwPagePreview::~SwPagePreview()
SwViewShell* pVShell = pViewWin->GetViewShell();
pVShell->SetWin(0);
delete pVShell;
- delete pViewWin;
-
- delete pScrollFill;
- delete pHScrollbar;
- delete pVScrollbar;
}
SwDocShell* SwPagePreview::GetDocShell()
@@ -1239,20 +1248,20 @@ SwDocShell* SwPagePreview::GetDocShell()
int SwPagePreview::_CreateScrollbar( bool bHori )
{
vcl::Window *pMDI = &GetViewFrame()->GetWindow();
- SwScrollbar** ppScrollbar = bHori ? &pHScrollbar : &pVScrollbar;
+ VclPtr<SwScrollbar>& ppScrollbar = bHori ? pHScrollbar : pVScrollbar;
- assert(!*ppScrollbar); //check beforehand!
+ assert(!ppScrollbar.get()); //check beforehand!
- *ppScrollbar = new SwScrollbar( pMDI, bHori );
+ ppScrollbar = new SwScrollbar( pMDI, bHori );
ScrollDocSzChg();
- (*ppScrollbar)->EnableDrag( true );
- (*ppScrollbar)->SetEndScrollHdl( LINK( this, SwPagePreview, EndScrollHdl ));
+ ppScrollbar->EnableDrag( true );
+ ppScrollbar->SetEndScrollHdl( LINK( this, SwPagePreview, EndScrollHdl ));
- (*ppScrollbar)->SetScrollHdl( LINK( this, SwPagePreview, ScrollHdl ));
+ ppScrollbar->SetScrollHdl( LINK( this, SwPagePreview, ScrollHdl ));
InvalidateBorder();
- (*ppScrollbar)->ExtendedShow();
+ ppScrollbar->ExtendedShow();
return 1;
}