diff options
Diffstat (limited to 'svtools')
-rw-r--r-- | svtools/source/brwbox/brwbox1.cxx | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/svtools/source/brwbox/brwbox1.cxx b/svtools/source/brwbox/brwbox1.cxx index b23d356cc17f..7153322e85c1 100644 --- a/svtools/source/brwbox/brwbox1.cxx +++ b/svtools/source/brwbox/brwbox1.cxx @@ -66,7 +66,7 @@ void BrowseBox::ConstructImpl( BrowserMode nMode ) pDataWin = 0; pVScroll = 0; - pDataWin = new BrowserDataWin( this ); + pDataWin = VclPtr<BrowserDataWin>::Create( this ).get(); pCols = new BrowserColumns; m_pImpl.reset( new ::svt::BrowseBoxImpl() ); @@ -117,7 +117,7 @@ BrowseBox::BrowseBox( vcl::Window* pParent, WinBits nBits, BrowserMode nMode ) :Control( pParent, nBits | WB_3DLOOK ) ,DragSourceHelper( this ) ,DropTargetHelper( this ) - ,aHScroll( new ScrollBar(this, WinBits( WB_HSCROLL )) ) + ,aHScroll( VclPtr<ScrollBar>::Create(this, WinBits( WB_HSCROLL )) ) { ConstructImpl( nMode ); } @@ -153,7 +153,7 @@ void BrowseBox::dispose() Hide(); getDataWindow()->pHeaderBar.disposeAndClear(); getDataWindow()->pCornerWin.disposeAndClear(); - pDataWin.clear(); + pDataWin.disposeAndClear(); pVScroll.disposeAndClear(); aHScroll.disposeAndClear(); @@ -2282,10 +2282,12 @@ void BrowseBox::SetMode( BrowserMode nMode ) WinBits nVScrollWinBits = WB_VSCROLL | ( ( nMode & BROWSER_THUMBDRAGGING ) ? WB_DRAG : 0 ); - pVScroll = ( nMode & BROWSER_TRACKING_TIPS ) == BROWSER_TRACKING_TIPS + pVScroll = VclPtr<ScrollBar>( + ( nMode & BROWSER_TRACKING_TIPS ) == BROWSER_TRACKING_TIPS ? new BrowserScrollBar( this, nVScrollWinBits, static_cast<BrowserDataWin*>( pDataWin.get() ) ) - : new ScrollBar( this, nVScrollWinBits ); + : new ScrollBar( this, nVScrollWinBits ), + SAL_NO_ACQUIRE); pVScroll->SetLineSize( 1 ); pVScroll->SetPageSize(1); pVScroll->SetScrollHdl( LINK( this, BrowseBox, ScrollHdl ) ); |