diff options
Diffstat (limited to 'vcl/source/gdi/impanmvw.cxx')
-rw-r--r-- | vcl/source/gdi/impanmvw.cxx | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/vcl/source/gdi/impanmvw.cxx b/vcl/source/gdi/impanmvw.cxx index c3e7b793580c..b225280a6102 100644 --- a/vcl/source/gdi/impanmvw.cxx +++ b/vcl/source/gdi/impanmvw.cxx @@ -77,7 +77,7 @@ ImplAnimView::ImplAnimView( Animation* pParent, OutputDevice* pOut, MapMode aTempMap( mpOut->GetMapMode() ); aTempMap.SetOrigin( Point() ); mpBackground->SetMapMode( aTempMap ); - static_cast<vcl::Window*>( mpOut )->SaveBackground( maDispPt, maDispSz, Point(), *mpBackground ); + static_cast<vcl::Window*>( mpOut.get() )->SaveBackground( maDispPt, maDispSz, Point(), *mpBackground ); mpBackground->SetMapMode( MapMode() ); } else @@ -93,8 +93,8 @@ ImplAnimView::ImplAnimView( Animation* pParent, OutputDevice* pOut, ImplAnimView::~ImplAnimView() { - delete mpBackground; - delete mpRestore; + mpBackground.disposeAndClear(); + mpRestore.disposeAndClear(); Animation::ImplDecAnimCount(); } @@ -153,19 +153,19 @@ void ImplAnimView::getPosSize( const AnimationBitmap& rAnm, Point& rPosPix, Size void ImplAnimView::drawToPos( sal_uLong nPos ) { - VirtualDevice aVDev; + ScopedVclPtrInstance<VirtualDevice> aVDev; std::unique_ptr<vcl::Region> xOldClip(!maClip.IsNull() ? new vcl::Region( mpOut->GetClipRegion() ) : NULL); - aVDev.SetOutputSizePixel( maSzPix, false ); + aVDev->SetOutputSizePixel( maSzPix, false ); nPos = std::min( nPos, (sal_uLong) mpParent->Count() - 1UL ); for( sal_uLong i = 0UL; i <= nPos; i++ ) - draw( i, &aVDev ); + draw( i, aVDev.get() ); if (xOldClip) mpOut->SetClipRegion( maClip ); - mpOut->DrawOutDev( maDispPt, maDispSz, Point(), maSzPix, aVDev ); + mpOut->DrawOutDev( maDispPt, maDispSz, Point(), maSzPix, *aVDev.get() ); if (xOldClip) mpOut->SetClipRegion(*xOldClip); @@ -180,7 +180,7 @@ void ImplAnimView::draw( sal_uLong nPos, VirtualDevice* pVDev ) setMarked( true ); else if( !mbPause ) { - VirtualDevice* pDev; + VclPtr<VirtualDevice> pDev; Point aPosPix; Point aBmpPosPix; Size aSizePix; @@ -273,10 +273,10 @@ void ImplAnimView::draw( sal_uLong nPos, VirtualDevice* pVDev ) xOldClip.reset(); } - delete pDev; + pDev.disposeAndClear(); if( mpOut->GetOutDevType() == OUTDEV_WINDOW ) - static_cast<vcl::Window*>( mpOut )->Sync(); + static_cast<vcl::Window*>( mpOut.get() )->Sync(); } } } @@ -290,7 +290,7 @@ void ImplAnimView::repaint() MapMode aTempMap( mpOut->GetMapMode() ); aTempMap.SetOrigin( Point() ); mpBackground->SetMapMode( aTempMap ); - static_cast<vcl::Window*>( mpOut )->SaveBackground( maDispPt, maDispSz, Point(), *mpBackground ); + static_cast<vcl::Window*>( mpOut.get() )->SaveBackground( maDispPt, maDispSz, Point(), *mpBackground ); mpBackground->SetMapMode( MapMode() ); } else |