vcl/win/gdi/salbmp.cxx |   33 +++++++++++----------------------
 1 file changed, 11 insertions(+), 22 deletions(-)

New commits:
commit e9db00584d30411ae07cfe8aa9660ba3636cc39a
Author:     Noel Grandin <n...@peralex.com>
AuthorDate: Wed Feb 24 10:11:38 2021 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Feb 24 19:21:01 2021 +0100

    use unique_ptr in WinSalBitmap
    
    Change-Id: I8ca55870094443f7eb670df06de34ad0ed87ad8c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111445
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/vcl/win/gdi/salbmp.cxx b/vcl/win/gdi/salbmp.cxx
index 2418c10a1770..2f427cc5e70d 100644
--- a/vcl/win/gdi/salbmp.cxx
+++ b/vcl/win/gdi/salbmp.cxx
@@ -237,14 +237,14 @@ Gdiplus::Bitmap* WinSalBitmap::ImplCreateGdiPlusBitmap()
 {
     Gdiplus::Bitmap* pRetval(nullptr);
     WinSalBitmap* pSalRGB = this;
-    WinSalBitmap* pExtraWinSalRGB = nullptr;
+    std::unique_ptr<WinSalBitmap> pExtraWinSalRGB;
 
     if(!pSalRGB->ImplGethDIB())
     {
         // we need DIB for success with AcquireBuffer, create a replacement 
WinSalBitmap
-        pExtraWinSalRGB = new WinSalBitmap();
+        pExtraWinSalRGB.reset(new WinSalBitmap());
         pExtraWinSalRGB->Create(*pSalRGB, pSalRGB->GetBitCount());
-        pSalRGB = pExtraWinSalRGB;
+        pSalRGB = pExtraWinSalRGB.get();
     }
 
     BitmapBuffer* pRGB = pSalRGB->AcquireBuffer(BitmapAccessMode::Read);
@@ -313,11 +313,6 @@ Gdiplus::Bitmap* WinSalBitmap::ImplCreateGdiPlusBitmap()
         pSalRGB->ReleaseBuffer(pRGB, BitmapAccessMode::Read);
     }
 
-    if(pExtraWinSalRGB)
-    {
-        delete pExtraWinSalRGB;
-    }
-
     return pRetval;
 }
 
@@ -325,14 +320,14 @@ Gdiplus::Bitmap* 
WinSalBitmap::ImplCreateGdiPlusBitmap(const WinSalBitmap& rAlph
 {
     Gdiplus::Bitmap* pRetval(nullptr);
     WinSalBitmap* pSalRGB = this;
-    WinSalBitmap* pExtraWinSalRGB = nullptr;
+    std::unique_ptr<WinSalBitmap> pExtraWinSalRGB;
 
     if(!pSalRGB->ImplGethDIB())
     {
         // we need DIB for success with AcquireBuffer, create a replacement 
WinSalBitmap
-        pExtraWinSalRGB = new WinSalBitmap();
+        pExtraWinSalRGB.reset(new WinSalBitmap());
         pExtraWinSalRGB->Create(*pSalRGB, pSalRGB->GetBitCount());
-        pSalRGB = pExtraWinSalRGB;
+        pSalRGB = pExtraWinSalRGB.get();
     }
 
     BitmapBuffer* pRGB = pSalRGB->AcquireBuffer(BitmapAccessMode::Read);
@@ -352,14 +347,14 @@ Gdiplus::Bitmap* 
WinSalBitmap::ImplCreateGdiPlusBitmap(const WinSalBitmap& rAlph
     }
 
     WinSalBitmap* pSalA = const_cast< WinSalBitmap* >(&rAlphaSource);
-    WinSalBitmap* pExtraWinSalA = nullptr;
+    std::unique_ptr<WinSalBitmap> pExtraWinSalA;
 
     if(!pSalA->ImplGethDIB())
     {
         // we need DIB for success with AcquireBuffer, create a replacement 
WinSalBitmap
-        pExtraWinSalA = new WinSalBitmap();
+        pExtraWinSalA.reset(new WinSalBitmap());
         pExtraWinSalA->Create(*pSalA, pSalA->GetBitCount());
-        pSalA = pExtraWinSalA;
+        pSalA = pExtraWinSalA.get();
     }
 
     BitmapBuffer* pA = pSalA->AcquireBuffer(BitmapAccessMode::Read);
@@ -447,10 +442,7 @@ Gdiplus::Bitmap* 
WinSalBitmap::ImplCreateGdiPlusBitmap(const WinSalBitmap& rAlph
         pSalA->ReleaseBuffer(pA, BitmapAccessMode::Read);
     }
 
-    if(pExtraWinSalA)
-    {
-        delete pExtraWinSalA;
-    }
+    pExtraWinSalA.reset();
 
     if(pExtraRGB)
     {
@@ -464,10 +456,7 @@ Gdiplus::Bitmap* 
WinSalBitmap::ImplCreateGdiPlusBitmap(const WinSalBitmap& rAlph
         pSalRGB->ReleaseBuffer(pRGB, BitmapAccessMode::Read);
     }
 
-    if(pExtraWinSalRGB)
-    {
-        delete pExtraWinSalRGB;
-    }
+    pExtraWinSalRGB.reset();
 
     return pRetval;
 }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to