summaryrefslogtreecommitdiff
path: root/vcl/source/gdi/impanmvw.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/gdi/impanmvw.cxx')
-rw-r--r--vcl/source/gdi/impanmvw.cxx22
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