diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-06-08 12:29:09 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-06-14 11:50:00 +0200 |
commit | 8447d31e529985ef7fc71933f0e55685530f9fc9 (patch) | |
tree | c8f01ee85837024482ab77c8770c8bca442ddd06 /vcl/win | |
parent | 1cf27cb44380f4a2bd6778c2dbbdef2a2a00cbc8 (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.cxx | 6 | ||||
-rw-r--r-- | vcl/win/gdi/gdiimpl.cxx | 9 | ||||
-rw-r--r-- | vcl/win/gdi/gdiimpl.hxx | 2 | ||||
-rw-r--r-- | vcl/win/gdi/salgdi2.cxx | 2 |
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 ); } |