summaryrefslogtreecommitdiff
path: root/vcl/win
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-06-08 12:29:09 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-06-14 11:50:00 +0200
commit8447d31e529985ef7fc71933f0e55685530f9fc9 (patch)
treec8f01ee85837024482ab77c8770c8bca442ddd06 /vcl/win
parent1cf27cb44380f4a2bd6778c2dbbdef2a2a00cbc8 (diff)
return SalBitmap using std::shared_ptr
since we hold it like that in Bitmap anyway Change-Id: I6264dfaaae6210cb008df5db8a421fc80c508f5b Reviewed-on: https://gerrit.libreoffice.org/55458 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'vcl/win')
-rw-r--r--vcl/win/app/salinst.cxx6
-rw-r--r--vcl/win/gdi/gdiimpl.cxx9
-rw-r--r--vcl/win/gdi/gdiimpl.hxx2
-rw-r--r--vcl/win/gdi/salgdi2.cxx2
4 files changed, 9 insertions, 10 deletions
diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx
index 652e47636ca2..cfdc68b4ac43 100644
--- a/vcl/win/app/salinst.cxx
+++ b/vcl/win/app/salinst.cxx
@@ -986,12 +986,12 @@ SalTimer* WinSalInstance::CreateSalTimer()
return new WinSalTimer();
}
-SalBitmap* WinSalInstance::CreateSalBitmap()
+std::shared_ptr<SalBitmap> WinSalInstance::CreateSalBitmap()
{
if (OpenGLHelper::isVCLOpenGLEnabled())
- return new OpenGLSalBitmap();
+ return std::make_shared<OpenGLSalBitmap>();
else
- return new WinSalBitmap();
+ return std::make_shared<WinSalBitmap>();
}
const OUString& SalGetDesktopEnvironment()
diff --git a/vcl/win/gdi/gdiimpl.cxx b/vcl/win/gdi/gdiimpl.cxx
index f18fbcf40779..5b7f225e7d96 100644
--- a/vcl/win/gdi/gdiimpl.cxx
+++ b/vcl/win/gdi/gdiimpl.cxx
@@ -851,11 +851,11 @@ void WinSalGraphicsImpl::drawMask( const SalTwoRect& rPosAry,
DeleteBrush( hMaskBrush );
}
-SalBitmap* WinSalGraphicsImpl::getBitmap( long nX, long nY, long nDX, long nDY )
+std::shared_ptr<SalBitmap> WinSalGraphicsImpl::getBitmap( long nX, long nY, long nDX, long nDY )
{
SAL_WARN_IF( mrParent.isPrinter(), "vcl", "No ::GetBitmap() from printer possible!" );
- WinSalBitmap* pSalBitmap = nullptr;
+ std::shared_ptr<WinSalBitmap> pSalBitmap;
nDX = labs( nDX );
nDY = labs( nDY );
@@ -870,12 +870,11 @@ SalBitmap* WinSalGraphicsImpl::getBitmap( long nX, long nY, long nDX, long nDY )
if( bRet )
{
- pSalBitmap = new WinSalBitmap;
+ pSalBitmap = std::make_shared<WinSalBitmap>();
if( !pSalBitmap->Create( hBmpBitmap, FALSE, FALSE ) )
{
- delete pSalBitmap;
- pSalBitmap = nullptr;
+ pSalBitmap.reset();
}
}
else
diff --git a/vcl/win/gdi/gdiimpl.hxx b/vcl/win/gdi/gdiimpl.hxx
index f4810c1e1f3b..3bd39663aa9c 100644
--- a/vcl/win/gdi/gdiimpl.hxx
+++ b/vcl/win/gdi/gdiimpl.hxx
@@ -154,7 +154,7 @@ public:
const SalBitmap& rSalBitmap,
Color nMaskColor ) override;
- virtual SalBitmap* getBitmap( long nX, long nY, long nWidth, long nHeight ) override;
+ virtual std::shared_ptr<SalBitmap> getBitmap( long nX, long nY, long nWidth, long nHeight ) override;
virtual Color getPixel( long nX, long nY ) override;
diff --git a/vcl/win/gdi/salgdi2.cxx b/vcl/win/gdi/salgdi2.cxx
index c34a215eb304..2e2d3469e8bd 100644
--- a/vcl/win/gdi/salgdi2.cxx
+++ b/vcl/win/gdi/salgdi2.cxx
@@ -215,7 +215,7 @@ void WinSalGraphics::drawMask( const SalTwoRect& rPosAry,
mpImpl->drawMask( rPosAry, rSSalBitmap, nMaskColor );
}
-SalBitmap* WinSalGraphics::getBitmap( long nX, long nY, long nDX, long nDY )
+std::shared_ptr<SalBitmap> WinSalGraphics::getBitmap( long nX, long nY, long nDX, long nDY )
{
return mpImpl->getBitmap( nX, nY, nDX, nDY );
}