[Libreoffice-commits] core.git: vcl/inc vcl/source

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Wed Jan 20 06:44:24 UTC 2021


 vcl/inc/svdata.hxx        |    2 +-
 vcl/source/app/svapp.cxx  |    2 +-
 vcl/source/app/svdata.cxx |    1 +
 vcl/source/app/svmain.cxx |    9 ++-------
 vcl/source/gdi/cvtgrf.cxx |    4 ++--
 5 files changed, 7 insertions(+), 11 deletions(-)

New commits:
commit 08340089c550ce8f2a68ba33bd7c33ac9dee1b1f
Author:     Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Tue Jan 19 19:59:04 2021 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Jan 20 07:43:42 2021 +0100

    use unique_ptr for GraphicConverter
    
    Change-Id: If2651d03eb878c499dd5e21df479dcdbcaf93987
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109653
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index 564c28bdc9b0..defa97bd5168 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -223,7 +223,7 @@ struct ImplSVGDIData
     std::shared_ptr<ImplFontCache> mxScreenFontCache;       // Screen-Font-Cache
     lru_scale_cache         maScaleCache = lru_scale_cache(10); // Cache for scaled images
     ImplDirectFontSubstitution* mpDirectFontSubst = nullptr; // Font-Substitutions defined in Tools->Options->Fonts
-    GraphicConverter*       mpGrfConverter = nullptr;       // Converter for graphics
+    std::unique_ptr<GraphicConverter> mxGrfConverter;       // Converter for graphics
     tools::Long                    mnAppFontX = 0;                 // AppFont X-Numenator for 40/tel Width
     tools::Long                    mnAppFontY = 0;                 // AppFont Y-Numenator for 80/tel Height
     bool                    mbFontSubChanged = false;       // true: FontSubstitution was changed between Begin/End
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 4449f38642ca..69687bd8a6f7 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -1521,7 +1521,7 @@ css::uno::Reference< css::awt::XDisplayConnection > Application::GetDisplayConne
 
 void Application::SetFilterHdl( const Link<ConvertData&,bool>& rLink )
 {
-    ImplGetSVData()->maGDIData.mpGrfConverter->SetFilterHdl( rLink );
+    ImplGetSVData()->maGDIData.mxGrfConverter->SetFilterHdl( rLink );
 }
 
 const LocaleDataWrapper& Application::GetAppLocaleDataWrapper()
diff --git a/vcl/source/app/svdata.cxx b/vcl/source/app/svdata.cxx
index 29ccf348bc6a..a0a52b91e591 100644
--- a/vcl/source/app/svdata.cxx
+++ b/vcl/source/app/svdata.cxx
@@ -27,6 +27,7 @@
 
 #include <configsettings.hxx>
 #include <vcl/QueueInfo.hxx>
+#include <vcl/cvtgrf.hxx>
 #include <vcl/dockwin.hxx>
 #include <vcl/menu.hxx>
 #include <vcl/print.hxx>
diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index eaba51522b76..194164946cc6 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -360,7 +360,7 @@ bool InitVCL()
     // Initialize global data
     pSVData->maGDIData.mxScreenFontList = std::make_shared<PhysicalFontCollection>();
     pSVData->maGDIData.mxScreenFontCache = std::make_shared<ImplFontCache>();
-    pSVData->maGDIData.mpGrfConverter = new GraphicConverter;
+    pSVData->maGDIData.mxGrfConverter.reset(new GraphicConverter);
 
     g_bIsLeanException = getenv("LO_LEAN_EXCEPTION") != nullptr;
     // Set exception handler
@@ -466,12 +466,7 @@ void DeInitVCL()
     pExceptionHandler = nullptr;
 
     // free global data
-    if (pSVData->maGDIData.mpGrfConverter)
-    {
-        delete pSVData->maGDIData.mpGrfConverter;
-        pSVData->maGDIData.mpGrfConverter = nullptr;
-    }
-
+    pSVData->maGDIData.mxGrfConverter.reset();
     pSVData->mpSettingsConfigItem.reset();
 
     // prevent unnecessary painting during Scheduler shutdown
diff --git a/vcl/source/gdi/cvtgrf.cxx b/vcl/source/gdi/cvtgrf.cxx
index 9e9ecfb6eac2..d14664bd047a 100644
--- a/vcl/source/gdi/cvtgrf.cxx
+++ b/vcl/source/gdi/cvtgrf.cxx
@@ -33,7 +33,7 @@ GraphicConverter::~GraphicConverter()
 
 ErrCode GraphicConverter::Import( SvStream& rIStm, Graphic& rGraphic, ConvertDataFormat nFormat )
 {
-    GraphicConverter*   pCvt = ImplGetSVData()->maGDIData.mpGrfConverter;
+    GraphicConverter*   pCvt = ImplGetSVData()->maGDIData.mxGrfConverter.get();
     ErrCode             nRet = ERRCODE_IO_GENERAL;
 
     if( pCvt && pCvt->GetFilterHdl().IsSet() )
@@ -54,7 +54,7 @@ ErrCode GraphicConverter::Import( SvStream& rIStm, Graphic& rGraphic, ConvertDat
 
 ErrCode GraphicConverter::Export( SvStream& rOStm, const Graphic& rGraphic, ConvertDataFormat nFormat )
 {
-    GraphicConverter*   pCvt = ImplGetSVData()->maGDIData.mpGrfConverter;
+    GraphicConverter*   pCvt = ImplGetSVData()->maGDIData.mxGrfConverter.get();
     ErrCode             nRet = ERRCODE_IO_GENERAL;
 
     if( pCvt && pCvt->GetFilterHdl().IsSet() )


More information about the Libreoffice-commits mailing list