wrap more stuff in VclPtr
Change-Id: Ia742c47399231bc5914b6586132ad3daf694fdb0
diff --git a/canvas/source/vcl/backbuffer.hxx b/canvas/source/vcl/backbuffer.hxx
index 479f4dd..0beeda2e 100644
--- a/canvas/source/vcl/backbuffer.hxx
+++ b/canvas/source/vcl/backbuffer.hxx
@@ -43,7 +43,7 @@ namespace vclcanvas
*/
BackBuffer( const OutputDevice& rRefDevice,
bool bMonochromeBuffer=false );
~BackBuffer();
virtual ~BackBuffer();
virtual OutputDevice& getOutDev() SAL_OVERRIDE;
virtual const OutputDevice& getOutDev() const SAL_OVERRIDE;
diff --git a/compilerplugins/clang/vclwidgets.cxx b/compilerplugins/clang/vclwidgets.cxx
index ffa73a8..092770d 100644
--- a/compilerplugins/clang/vclwidgets.cxx
+++ b/compilerplugins/clang/vclwidgets.cxx
@@ -243,6 +243,8 @@ bool VCLWidgets::VisitVarDecl(const VarDecl * pVarDecl) {
&& !startsWith(pVarDecl->getType().getAsString(), "::std::multimap<sal_Int32, class OTableWindow *>")
&& !startsWith(pVarDecl->getType().getAsString(), "::dbp::OMultiInstanceAutoRegistration< ::dbp::OUnoAutoPilot<")
&& !startsWith(pVarDecl->getType().getAsString(), "SwSidebarWin_iterator")
&& !startsWith(pVarDecl->getType().getAsString(), "functor_vector_type")
&& !startsWith(pVarDecl->getType().getAsString(), "const functor_vector_type")
&& containsWindowSubclass(pVarDecl->getType()))
{
report(
diff --git a/filter/source/graphicfilter/epict/epict.cxx b/filter/source/graphicfilter/epict/epict.cxx
index 33f5fdb..df3a4f6 100644
--- a/filter/source/graphicfilter/epict/epict.cxx
+++ b/filter/source/graphicfilter/epict/epict.cxx
@@ -1854,24 +1854,24 @@ void PictWriter::WriteOpcodes( const GDIMetaFile & rMTF )
case META_GRADIENT_ACTION:
{
VirtualDevice aVDev;
ScopedVclPtr<VirtualDevice> aVDev;
GDIMetaFile aTmpMtf;
const MetaGradientAction* pA = static_cast<const MetaGradientAction*>(pMA);
aVDev.SetMapMode( aTargetMapMode );
aVDev.AddGradientActions( pA->GetRect(), pA->GetGradient(), aTmpMtf );
aVDev->SetMapMode( aTargetMapMode );
aVDev->AddGradientActions( pA->GetRect(), pA->GetGradient(), aTmpMtf );
WriteOpcodes( aTmpMtf );
}
break;
case META_HATCH_ACTION:
{
VirtualDevice aVDev;
ScopedVclPtr<VirtualDevice> aVDev;
GDIMetaFile aTmpMtf;
const MetaHatchAction* pA = static_cast<const MetaHatchAction*>(pMA);
aVDev.SetMapMode( aTargetMapMode );
aVDev.AddHatchActions( pA->GetPolyPolygon(), pA->GetHatch(), aTmpMtf );
aVDev->SetMapMode( aTargetMapMode );
aVDev->AddHatchActions( pA->GetPolyPolygon(), pA->GetHatch(), aTmpMtf );
WriteOpcodes( aTmpMtf );
}
break;
diff --git a/sc/source/ui/cctrl/tbzoomsliderctrl.cxx b/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
index 3b525ed..d0e181b 100644
--- a/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
+++ b/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
@@ -401,7 +401,7 @@ void ScZoomSliderWnd::DoPaint( const Rectangle& /*rRect*/ )
Size aSliderWindowSize = GetOutputSizePixel();
Rectangle aRect( Point( 0, 0 ), aSliderWindowSize );
VirtualDevice* pVDev = new VirtualDevice( *this );
ScopedVclPtr<VirtualDevice> pVDev = new VirtualDevice( *this );
pVDev->SetOutputSizePixel( aSliderWindowSize );
Rectangle aSlider = aRect;
@@ -484,9 +484,6 @@ void ScZoomSliderWnd::DoPaint( const Rectangle& /*rRect*/ )
pVDev->DrawImage( aImagePoint, mpImpl->maIncreaseButton );
DrawOutDev( Point(0, 0), aSliderWindowSize, Point(0, 0), aSliderWindowSize, *pVDev );
delete pVDev;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/dbgui/csvruler.cxx b/sc/source/ui/dbgui/csvruler.cxx
index b464c87..4057831 100644
--- a/sc/source/ui/dbgui/csvruler.cxx
+++ b/sc/source/ui/dbgui/csvruler.cxx
@@ -93,8 +93,8 @@ ScCsvRuler::ScCsvRuler( ScCsvControl& rParent ) :
EnableRTL( false ); // RTL
InitColors();
InitSizeData();
maBackgrDev.SetFont( GetFont() );
maRulerDev.SetFont( GetFont() );
maBackgrDev->SetFont( GetFont() );
maRulerDev->SetFont( GetFont() );
load_FixedWidthList( maSplits );
}
@@ -165,8 +165,8 @@ void ScCsvRuler::InitSizeData()
maActiveRect.SetPos( Point( GetFirstX(), (GetHeight() - nActiveHeight - 1) / 2 ) );
maActiveRect.SetSize( Size( nActiveWidth, nActiveHeight ) );
maBackgrDev.SetOutputSizePixel( maWinSize );
maRulerDev.SetOutputSizePixel( maWinSize );
maBackgrDev->SetOutputSizePixel( maWinSize );
maRulerDev->SetOutputSizePixel( maWinSize );
InvalidateGfx();
}
@@ -533,30 +533,30 @@ void ScCsvRuler::ImplRedraw()
ImplDrawBackgrDev();
ImplDrawRulerDev();
}
DrawOutDev( Point(), maWinSize, Point(), maWinSize, maRulerDev );
DrawOutDev( Point(), maWinSize, Point(), maWinSize, *maRulerDev.get() );
ImplDrawTrackingRect();
}
}
void ScCsvRuler::ImplDrawArea( sal_Int32 nPosX, sal_Int32 nWidth )
{
maBackgrDev.SetLineColor();
maBackgrDev->SetLineColor();
Rectangle aRect( Point( nPosX, 0 ), Size( nWidth, GetHeight() ) );
maBackgrDev.SetFillColor( maBackColor );
maBackgrDev.DrawRect( aRect );
maBackgrDev->SetFillColor( maBackColor );
maBackgrDev->DrawRect( aRect );
aRect = maActiveRect;
aRect.Left() = std::max( GetFirstX(), nPosX );
aRect.Right() = std::min( std::min( GetX( GetPosCount() ), GetLastX() ), nPosX + nWidth - sal_Int32( 1 ) );
if( aRect.Left() <= aRect.Right() )
{
maBackgrDev.SetFillColor( maActiveColor );
maBackgrDev.DrawRect( aRect );
maBackgrDev->SetFillColor( maActiveColor );
maBackgrDev->DrawRect( aRect );
}
maBackgrDev.SetLineColor( maTextColor );
maBackgrDev->SetLineColor( maTextColor );
sal_Int32 nY = GetHeight() - 1;
maBackgrDev.DrawLine( Point( nPosX, nY ), Point( nPosX + nWidth - 1, nY ) );
maBackgrDev->DrawLine( Point( nPosX, nY ), Point( nPosX + nWidth - 1, nY ) );
}
void ScCsvRuler::ImplDrawBackgrDev()
@@ -564,8 +564,8 @@ void ScCsvRuler::ImplDrawBackgrDev()
ImplDrawArea( 0, GetWidth() );
// scale
maBackgrDev.SetLineColor( maTextColor );
maBackgrDev.SetFillColor();
maBackgrDev->SetLineColor( maTextColor );
maBackgrDev->SetFillColor();
sal_Int32 nPos;
sal_Int32 nFirstPos = std::max( GetPosFromX( 0 ) - (sal_Int32)(1L), (sal_Int32)(0L) );
@@ -575,21 +575,21 @@ void ScCsvRuler::ImplDrawBackgrDev()
{
sal_Int32 nX = GetX( nPos );
if( nPos % 5 )
maBackgrDev.DrawPixel( Point( nX, nY ) );
maBackgrDev->DrawPixel( Point( nX, nY ) );
else
maBackgrDev.DrawLine( Point( nX, nY - 1 ), Point( nX, nY + 1 ) );
maBackgrDev->DrawLine( Point( nX, nY - 1 ), Point( nX, nY + 1 ) );
}
// texts
maBackgrDev.SetTextColor( maTextColor );
maBackgrDev.SetTextFillColor();
maBackgrDev->SetTextColor( maTextColor );
maBackgrDev->SetTextFillColor();
for( nPos = ((nFirstPos + 9) / 10) * 10; nPos <= nLastPos; nPos += 10 )
{
OUString aText( OUString::number( nPos ) );
sal_Int32 nTextWidth = maBackgrDev.GetTextWidth( aText );
sal_Int32 nTextWidth = maBackgrDev->GetTextWidth( aText );
sal_Int32 nTextX = GetX( nPos ) - nTextWidth / 2;
ImplDrawArea( nTextX - 1, nTextWidth + 2 );
maBackgrDev.DrawText( Point( nTextX, maActiveRect.Top() ), aText );
maBackgrDev->DrawText( Point( nTextX, maActiveRect.Top() ), aText );
}
}
@@ -599,10 +599,10 @@ void ScCsvRuler::ImplDrawSplit( sal_Int32 nPos )
{
Point aPos( GetX( nPos ) - mnSplitSize / 2, GetHeight() - mnSplitSize - 2 );
Size aSize( mnSplitSize, mnSplitSize );
maRulerDev.SetLineColor( maTextColor );
maRulerDev.SetFillColor( maSplitColor );
maRulerDev.DrawEllipse( Rectangle( aPos, aSize ) );
maRulerDev.DrawPixel( Point( GetX( nPos ), GetHeight() - 2 ) );
maRulerDev->SetLineColor( maTextColor );
maRulerDev->SetFillColor( maSplitColor );
maRulerDev->DrawEllipse( Rectangle( aPos, aSize ) );
maRulerDev->DrawPixel( Point( GetX( nPos ), GetHeight() - 2 ) );
}
}
@@ -613,14 +613,14 @@ void ScCsvRuler::ImplEraseSplit( sal_Int32 nPos )
ImplInvertCursor( GetRulerCursorPos() );
Point aPos( GetX( nPos ) - mnSplitSize / 2, 0 );
Size aSize( mnSplitSize, GetHeight() );
maRulerDev.DrawOutDev( aPos, aSize, aPos, aSize, maBackgrDev );
maRulerDev->DrawOutDev( aPos, aSize, aPos, aSize, *maBackgrDev.get() );
ImplInvertCursor( GetRulerCursorPos() );
}
}
void ScCsvRuler::ImplDrawRulerDev()
{
maRulerDev.DrawOutDev( Point(), maWinSize, Point(), maWinSize, maBackgrDev );
maRulerDev->DrawOutDev( Point(), maWinSize, Point(), maWinSize, *maBackgrDev.get() );
ImplInvertCursor( GetRulerCursorPos() );
sal_uInt32 nFirst = maSplits.LowerBound( GetFirstVisPos() );
@@ -634,7 +634,7 @@ void ScCsvRuler::ImplInvertCursor( sal_Int32 nPos )
{
if( IsVisibleSplitPos( nPos ) )
{
ImplInvertRect( maRulerDev, Rectangle( Point( GetX( nPos ) - 1, 0 ), Size( 3, GetHeight() - 1 ) ) );
ImplInvertRect( *maRulerDev.get(), Rectangle( Point( GetX( nPos ) - 1, 0 ), Size( 3, GetHeight() - 1 ) ) );
if( HasSplit( nPos ) )
ImplDrawSplit( nPos );
}
diff --git a/sc/source/ui/inc/autofmt.hxx b/sc/source/ui/inc/autofmt.hxx
index 070ef9f..3cd9bc3 100644
--- a/sc/source/ui/inc/autofmt.hxx
+++ b/sc/source/ui/inc/autofmt.hxx
@@ -56,7 +56,7 @@ protected:
private:
ScAutoFormatData* pCurData;
VirtualDevice aVD;
ScopedVclPtr<VirtualDevice> aVD;
SvtScriptedTextHelper aScriptedText;
::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator > xBreakIter;
bool bFitWidth;
diff --git a/sc/source/ui/miscdlgs/autofmt.cxx b/sc/source/ui/miscdlgs/autofmt.cxx
index 63c729b..b881e4e 100644
--- a/sc/source/ui/miscdlgs/autofmt.cxx
+++ b/sc/source/ui/miscdlgs/autofmt.cxx
@@ -57,8 +57,8 @@
ScAutoFmtPreview::ScAutoFmtPreview(vcl::Window* pParent)
: Window(pParent)
, pCurData(NULL)
, aVD(*this)
, aScriptedText(aVD)
, aVD(new VirtualDevice(*this))
, aScriptedText(*aVD.get())
, bFitWidth(false)
, mbRTL(false)
, aStrJan(ScResId(STR_JAN))
@@ -382,11 +382,11 @@ void ScAutoFmtPreview::DrawBackground()
const SvxBrushItem* pItem = static_cast< const SvxBrushItem* >(
pCurData->GetItem( GetFormatIndex( nCol, nRow ), ATTR_BACKGROUND ) );
aVD.Push( PushFlags::LINECOLOR | PushFlags::FILLCOLOR );
aVD.SetLineColor();
aVD.SetFillColor( pItem->GetColor() );
aVD.DrawRect( maArray.GetCellRect( nCol, nRow ) );
aVD.Pop();
aVD->Push( PushFlags::LINECOLOR | PushFlags::FILLCOLOR );
aVD->SetLineColor();
aVD->SetFillColor( pItem->GetColor() );
aVD->DrawRect( maArray.GetCellRect( nCol, nRow ) );
aVD->Pop();
}
}
}
@@ -405,7 +405,7 @@ void ScAutoFmtPreview::PaintCells()
// 3) border
if ( pCurData->GetIncludeFrame() )
maArray.DrawArray( aVD );
maArray.DrawArray( *aVD.get() );
}
}
@@ -490,20 +490,20 @@ void ScAutoFmtPreview::NotifyChange( ScAutoFormatData* pNewData )
void ScAutoFmtPreview::DoPaint( const Rectangle& /* rRect */ )
{
sal_uInt32 nOldDrawMode = aVD.GetDrawMode();
sal_uInt32 nOldDrawMode = aVD->GetDrawMode();
Size aWndSize( GetSizePixel() );
vcl::Font aFont( aVD.GetFont() );
vcl::Font aFont( aVD->GetFont() );
Color aBackCol( GetSettings().GetStyleSettings().GetWindowColor() );
Point aTmpPoint;
Rectangle aRect( aTmpPoint, aWndSize );
aFont.SetTransparent( true );
aVD.SetFont( aFont );
aVD.SetLineColor();
aVD.SetFillColor( aBackCol );
aVD.SetOutputSize( aWndSize );
aVD.DrawRect( aRect );
aVD->SetFont( aFont );
aVD->SetLineColor();
aVD->SetFillColor( aBackCol );
aVD->SetOutputSize( aWndSize );
aVD->DrawRect( aRect );
PaintCells();
SetLineColor();
@@ -513,9 +513,9 @@ void ScAutoFmtPreview::DoPaint( const Rectangle& /* rRect */ )
Point aPos( (aWndSize.Width() - aPrvSize.Width()) / 2, (aWndSize.Height() - aPrvSize.Height()) / 2 );
if (AllSettings::GetLayoutRTL())
aPos.X() = -aPos.X();
DrawOutDev( aPos, aWndSize, Point(), aWndSize, aVD );
DrawOutDev( aPos, aWndSize, Point(), aWndSize, *aVD.get() );
aVD.SetDrawMode( nOldDrawMode );
aVD->SetDrawMode( nOldDrawMode );
}
void ScAutoFmtPreview::Paint( const Rectangle& rRect )
diff --git a/sc/source/ui/sidebar/CellLineStyleValueSet.cxx b/sc/source/ui/sidebar/CellLineStyleValueSet.cxx
index 5ba64bd..800c8b3 100644
--- a/sc/source/ui/sidebar/CellLineStyleValueSet.cxx
+++ b/sc/source/ui/sidebar/CellLineStyleValueSet.cxx
@@ -39,7 +39,7 @@ CellLineStyleValueSet::~CellLineStyleValueSet()
void CellLineStyleValueSet::dispose()
{
delete pVDev;
pVDev.disposeAndClear();
ValueSet::dispose();
}
diff --git a/sw/inc/hints.hxx b/sw/inc/hints.hxx
index c34a95b..92a5744 100644
--- a/sw/inc/hints.hxx
+++ b/sw/inc/hints.hxx
@@ -20,6 +20,7 @@
#define INCLUDED_SW_INC_HINTS_HXX
#include <swatrset.hxx>
#include <vcl/vclptr.hxx>
#include <vector>
class SwFmt;
@@ -138,7 +139,7 @@ public:
To get the page/chapter number, the frame has to be asked. For that we need
the current OutputDevice.
*/
SwRefMarkFldUpdate( const OutputDevice* );
SwRefMarkFldUpdate( OutputDevice* );
};
/** SwDocPosUpdate is sent to signal that only the frames from or to a specified document-global position
diff --git a/sw/source/core/attr/hints.cxx b/sw/source/core/attr/hints.cxx
index 2aed426..129e955 100644
--- a/sw/source/core/attr/hints.cxx
+++ b/sw/source/core/attr/hints.cxx
@@ -49,7 +49,7 @@ SwUpdateAttr::SwUpdateAttr( sal_Int32 nS, sal_Int32 nE, sal_uInt16 nW )
{
}
SwRefMarkFldUpdate::SwRefMarkFldUpdate( const OutputDevice* pOutput )
SwRefMarkFldUpdate::SwRefMarkFldUpdate( OutputDevice* pOutput )
: SwMsgPoolItem( RES_REFMARKFLD_UPDATE ),
pOut( pOutput )
{
diff --git a/sw/source/core/draw/dflyobj.cxx b/sw/source/core/draw/dflyobj.cxx
index 4d1557e..9ae2b19 100644
--- a/sw/source/core/draw/dflyobj.cxx
+++ b/sw/source/core/draw/dflyobj.cxx
@@ -438,7 +438,7 @@ namespace
private:
bool mbMapModeRestored;
OutputDevice* mpOutDev;
VclPtr<OutputDevice> mpOutDev;
};
}
// <--
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 6ad6d83..c22ab509 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -240,7 +240,7 @@ struct SwPaintProperties {
// Only repaint the Fly content as well as the background of the Fly content if
// a metafile is taken of the Fly.
bool bSFlyMetafile;
OutputDevice *pSFlyMetafileOut;
VclPtr<OutputDevice> pSFlyMetafileOut;
SwViewShell *pSGlobalShell;
// Retouch for transparent Flys is done by the background of the Flys.
@@ -1247,7 +1247,7 @@ void SwAlignRect( SwRect &rRect, const SwViewShell *pSh )
}
const OutputDevice *pOut = gProp.bSFlyMetafile ?
gProp.pSFlyMetafileOut : pSh->GetOut();
gProp.pSFlyMetafileOut.get() : pSh->GetOut();
// Hold original rectangle in pixel
const Rectangle aOrgPxRect = pOut->LogicToPixel( rRect.SVRect() );
diff --git a/sw/source/core/layout/virtoutp.cxx b/sw/source/core/layout/virtoutp.cxx
index 78e5cfe..dceabf0 100644
--- a/sw/source/core/layout/virtoutp.cxx
+++ b/sw/source/core/layout/virtoutp.cxx
@@ -133,8 +133,7 @@ bool SwLayVout::DoesFit( const Size &rNew )
aSize.Width() = rNew.Width();
if( !pVirDev->SetOutputSizePixel( aSize ) )
{
delete pVirDev;
pVirDev = NULL;
pVirDev.disposeAndClear();
aSize.Width() = 0;
return false;
}
diff --git a/sw/source/core/layout/virtoutp.hxx b/sw/source/core/layout/virtoutp.hxx
index 287cfaf..ea44b5b 100644
--- a/sw/source/core/layout/virtoutp.hxx
+++ b/sw/source/core/layout/virtoutp.hxx
@@ -43,7 +43,7 @@ private:
public:
SwLayVout() : pSh(0), pOut(0), pVirDev(0), aSize(0, VIRTUALHEIGHT), nCount(0) {}
~SwLayVout() { delete pVirDev; }
~SwLayVout() { pVirDev.disposeAndClear(); }
/// OD 27.09.2002 #103636# - change 2nd parameter <rRect> - no longer <const>
void Enter( SwViewShell *pShell, SwRect &rRect, bool bOn );
diff --git a/sw/source/core/text/itratr.cxx b/sw/source/core/text/itratr.cxx
index 38dc69e..42cd02a 100644
--- a/sw/source/core/text/itratr.cxx
+++ b/sw/source/core/text/itratr.cxx
@@ -109,7 +109,7 @@ SwTxtAttr *SwAttrIter::GetAttr( const sal_Int32 nPosition ) const
bool SwAttrIter::SeekAndChgAttrIter( const sal_Int32 nNewPos, OutputDevice* pOut )
{
bool bChg = nStartIndex && nNewPos == nPos ? pFnt->IsFntChg() : Seek( nNewPos );
if ( pLastOut != pOut )
if ( pLastOut.get() != pOut )
{
pLastOut = pOut;
pFnt->SetFntChg( true );
@@ -174,7 +174,7 @@ bool SwAttrIter::SeekStartAndChgAttrIter( OutputDevice* pOut, const bool bParaFo
}
bool bChg = pFnt->IsFntChg();
if ( pLastOut != pOut )
if ( pLastOut.get() != pOut )
{
pLastOut = pOut;
pFnt->SetFntChg( true );
diff --git a/vcl/source/filter/wmf/emfwr.hxx b/vcl/source/filter/wmf/emfwr.hxx
index d4925c1..3e9f2fc 100644
--- a/vcl/source/filter/wmf/emfwr.hxx
+++ b/vcl/source/filter/wmf/emfwr.hxx
@@ -90,8 +90,8 @@ private:
public:
EMFWriter(SvStream &rStream)
: m_rStm(rStream)
, maVDev( new VirtualDevice() )
: maVDev( new VirtualDevice() )
, m_rStm(rStream)
, mpHandlesUsed(NULL)
, mnHandleCount(0)
, mnRecordCount(0)
diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx
index a7c0cfa..d2170b3 100644
--- a/vcl/workben/vcldemo.cxx
+++ b/vcl/workben/vcldemo.cxx
@@ -774,7 +774,7 @@ public:
void SizeAndRender(OutputDevice &rDev, const Rectangle& r, RenderType eType,
const RenderContext &rCtx)
{
VirtualDevice *pNested;
ScopedVclPtr<VirtualDevice> pNested;
if ((int)eType < RENDER_AS_BITMAPEX)
pNested = new VirtualDevice(rDev);
@@ -804,7 +804,6 @@ public:
aWhole.TopLeft(), aWhole.GetSize(),
*pNested);
}
delete pNested;
}
virtual void RenderRegion(OutputDevice &rDev, Rectangle r,
const RenderContext &rCtx) SAL_OVERRIDE