[Libreoffice-commits] core.git: canvas/source

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Tue Aug 4 16:46:54 UTC 2020


 canvas/source/directx/dx_bitmap.cxx        |    2 +-
 canvas/source/directx/dx_canvas.cxx        |    5 +++--
 canvas/source/directx/dx_impltools.cxx     |    4 ++--
 canvas/source/directx/dx_impltools.hxx     |    2 +-
 canvas/source/directx/dx_surfacebitmap.cxx |    2 +-
 5 files changed, 8 insertions(+), 7 deletions(-)

New commits:
commit 3e9ce173d5ee46147aeac6820eacfa0a67b1209c
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Tue Aug 4 15:35:34 2020 +0200
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Tue Aug 4 18:46:15 2020 +0200

    loplugin:makeshared (clang-cl)
    
    Change-Id: Ie28438633d9d81d756013772c573f02a756478d3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100096
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/canvas/source/directx/dx_bitmap.cxx b/canvas/source/directx/dx_bitmap.cxx
index 524e3a6fdd2d..2f42170d6d77 100644
--- a/canvas/source/directx/dx_bitmap.cxx
+++ b/canvas/source/directx/dx_bitmap.cxx
@@ -71,7 +71,7 @@ namespace dxcanvas
                     PixelFormat24bppRGB);
         }
 
-        mpGraphics.reset( tools::createGraphicsFromBitmap(mpBitmap) );
+        mpGraphics = tools::createGraphicsFromBitmap(mpBitmap);
     }
 
     BitmapSharedPtr DXBitmap::getBitmap() const
diff --git a/canvas/source/directx/dx_canvas.cxx b/canvas/source/directx/dx_canvas.cxx
index cb7a3199e126..08ce658249db 100644
--- a/canvas/source/directx/dx_canvas.cxx
+++ b/canvas/source/directx/dx_canvas.cxx
@@ -20,6 +20,7 @@
 #include <sal/config.h>
 
 #include <memory>
+#include <utility>
 
 #include <sal/log.hxx>
 
@@ -57,7 +58,7 @@ namespace dxcanvas
     {
         GraphicsSharedPtr mpGraphics;
     public:
-        explicit GraphicsProviderImpl( Gdiplus::Graphics* pGraphics ) : mpGraphics( pGraphics ) {}
+        explicit GraphicsProviderImpl( GraphicsSharedPtr && pGraphics ) : mpGraphics( std::move(pGraphics) ) {}
         virtual GraphicsSharedPtr getGraphics() override { return mpGraphics; }
     };
 
@@ -106,7 +107,7 @@ namespace dxcanvas
         maCanvasHelper.setDevice( *this );
         maCanvasHelper.setTarget(
             std::make_shared<GraphicsProviderImpl>(
-                    Gdiplus::Graphics::FromHDC(pSysData->hDC)));
+                    GraphicsSharedPtr(Gdiplus::Graphics::FromHDC(pSysData->hDC))));
 
         maArguments.realloc(0);
     }
diff --git a/canvas/source/directx/dx_impltools.cxx b/canvas/source/directx/dx_impltools.cxx
index 413af7556643..27b98364bad1 100644
--- a/canvas/source/directx/dx_impltools.cxx
+++ b/canvas/source/directx/dx_impltools.cxx
@@ -132,9 +132,9 @@ namespace dxcanvas::tools
             return pRet;
         }
 
-        Gdiplus::Graphics* createGraphicsFromBitmap(const BitmapSharedPtr& rBitmap)
+        GraphicsSharedPtr createGraphicsFromBitmap(const BitmapSharedPtr& rBitmap)
         {
-            Gdiplus::Graphics* pRet = Gdiplus::Graphics::FromImage(rBitmap.get());
+            GraphicsSharedPtr pRet(Gdiplus::Graphics::FromImage(rBitmap.get()));
             if( pRet )
                 setupGraphics( *pRet );
             return pRet;
diff --git a/canvas/source/directx/dx_impltools.hxx b/canvas/source/directx/dx_impltools.hxx
index f4f5a98ddfaa..720826e35652 100644
--- a/canvas/source/directx/dx_impltools.hxx
+++ b/canvas/source/directx/dx_impltools.hxx
@@ -62,7 +62,7 @@ namespace dxcanvas::tools
         polyPolygonFromXPolyPolygon2D( const css::uno::Reference< css::rendering::XPolyPolygon2D >& );
 
         Gdiplus::Graphics* createGraphicsFromHDC(HDC);
-        Gdiplus::Graphics* createGraphicsFromBitmap(const BitmapSharedPtr&);
+        GraphicsSharedPtr createGraphicsFromBitmap(const BitmapSharedPtr&);
 
         void setupGraphics( Gdiplus::Graphics& rGraphics );
 
diff --git a/canvas/source/directx/dx_surfacebitmap.cxx b/canvas/source/directx/dx_surfacebitmap.cxx
index 52c83de26829..0d23674ca91b 100644
--- a/canvas/source/directx/dx_surfacebitmap.cxx
+++ b/canvas/source/directx/dx_surfacebitmap.cxx
@@ -228,7 +228,7 @@ namespace dxcanvas
                     maSize.getY(),
                     PixelFormat32bppARGB
                     );
-            mpGraphics.reset( tools::createGraphicsFromBitmap(mpGDIPlusBitmap) );
+            mpGraphics = tools::createGraphicsFromBitmap(mpGDIPlusBitmap);
 
             // create the colorbuffer object, which is basically a simple
             // wrapper around the directx surface. the colorbuffer is the


More information about the Libreoffice-commits mailing list