summaryrefslogtreecommitdiff
path: root/sw/source/uibase/docvw/srcedtw.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/uibase/docvw/srcedtw.cxx')
-rw-r--r--sw/source/uibase/docvw/srcedtw.cxx21
1 files changed, 13 insertions, 8 deletions
diff --git a/sw/source/uibase/docvw/srcedtw.cxx b/sw/source/uibase/docvw/srcedtw.cxx
index c4042d812873..5d2dac64c01f 100644
--- a/sw/source/uibase/docvw/srcedtw.cxx
+++ b/sw/source/uibase/docvw/srcedtw.cxx
@@ -268,7 +268,12 @@ SwSrcEditWindow::SwSrcEditWindow( vcl::Window* pParent, SwSrcView* pParentView )
n->addPropertiesChangeListener(s, listener_.get());
}
- SwSrcEditWindow::~SwSrcEditWindow()
+SwSrcEditWindow::~SwSrcEditWindow()
+{
+ disposeOnce();
+}
+
+void SwSrcEditWindow::dispose()
{
css::uno::Reference< css::beans::XMultiPropertySet > n;
{
@@ -284,13 +289,13 @@ SwSrcEditWindow::SwSrcEditWindow( vcl::Window* pParent, SwSrcView* pParentView )
EndListening( *pTextEngine );
pTextEngine->RemoveView( pTextView );
- delete pHScrollbar;
- delete pVScrollbar;
-
delete pTextView;
delete pTextEngine;
}
- delete pOutWin;
+ pHScrollbar.disposeAndClear();
+ pVScrollbar.disposeAndClear();
+ pOutWin.disposeAndClear();
+ vcl::Window::dispose();
}
void SwSrcEditWindow::DataChanged( const DataChangedEvent& rDCEvt )
@@ -482,18 +487,18 @@ void TextViewOutWin::Paint( const Rectangle& rRect )
void SwSrcEditWindow::CreateTextEngine()
{
const Color &rCol = GetSettings().GetStyleSettings().GetWindowColor();
- pOutWin = new TextViewOutWin(this, 0);
+ pOutWin = VclPtr<TextViewOutWin>::Create(this, 0);
pOutWin->SetBackground(Wallpaper(rCol));
pOutWin->SetPointer(Pointer(POINTER_TEXT));
pOutWin->Show();
// create Scrollbars
- pHScrollbar = new ScrollBar(this, WB_3DLOOK |WB_HSCROLL|WB_DRAG);
+ pHScrollbar = VclPtr<ScrollBar>::Create(this, WB_3DLOOK |WB_HSCROLL|WB_DRAG);
pHScrollbar->EnableRTL( false ); // --- RTL --- no mirroring for scrollbars
pHScrollbar->SetScrollHdl(LINK(this, SwSrcEditWindow, ScrollHdl));
pHScrollbar->Show();
- pVScrollbar = new ScrollBar(this, WB_3DLOOK |WB_VSCROLL|WB_DRAG);
+ pVScrollbar = VclPtr<ScrollBar>::Create(this, WB_3DLOOK |WB_VSCROLL|WB_DRAG);
pVScrollbar->EnableRTL( false ); // --- RTL --- no mirroring for scrollbars
pVScrollbar->SetScrollHdl(LINK(this, SwSrcEditWindow, ScrollHdl));
pHScrollbar->EnableDrag();