diff options
Diffstat (limited to 'sw/source/uibase/docvw/srcedtw.cxx')
-rw-r--r-- | sw/source/uibase/docvw/srcedtw.cxx | 21 |
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(); |