canvas/source/cairo/cairo_textlayout.cxx |   19 ++++++++-----------
 canvas/source/cairo/cairo_textlayout.hxx |   10 ++++------
 2 files changed, 12 insertions(+), 17 deletions(-)

New commits:
commit 1909c23d669676e8411143eb2cc0bf0c2b22f7ca
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Thu Feb 23 11:01:51 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Fri Feb 24 08:11:17 2023 +0000

    BaseMutex->std::mutex in cairocanvas::TextLayout
    
    Change-Id: If45308a943104ed5a7f3ec2713bce5d68ee73485
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147579
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/canvas/source/cairo/cairo_textlayout.cxx 
b/canvas/source/cairo/cairo_textlayout.cxx
index 1a6f0143a60a..00a1d19d5577 100644
--- a/canvas/source/cairo/cairo_textlayout.cxx
+++ b/canvas/source/cairo/cairo_textlayout.cxx
@@ -75,7 +75,6 @@ namespace cairocanvas
                             sal_Int64                     /*nRandomSeed*/,
                             CanvasFont::Reference         rFont,
                             SurfaceProviderRef            rRefDevice ) :
-        TextLayout_Base( m_aMutex ),
         maText(std::move( aText )),
         mpFont(std::move( rFont )),
         mpRefDevice(std::move( rRefDevice )),
@@ -87,10 +86,8 @@ namespace cairocanvas
     {
     }
 
-    void SAL_CALL TextLayout::disposing()
+    void TextLayout::disposing(std::unique_lock<std::mutex>& /*rGuard*/)
     {
-        ::osl::MutexGuard aGuard( m_aMutex );
-
         mpFont.clear();
         mpRefDevice.clear();
     }
@@ -116,14 +113,14 @@ namespace cairocanvas
 
     uno::Sequence< double > SAL_CALL TextLayout::queryLogicalAdvancements(  )
     {
-        ::osl::MutexGuard aGuard( m_aMutex );
+        std::unique_lock aGuard( m_aMutex );
 
         return maLogicalAdvancements;
     }
 
     void SAL_CALL TextLayout::applyLogicalAdvancements( const uno::Sequence< 
double >& aAdvancements )
     {
-        ::osl::MutexGuard aGuard( m_aMutex );
+        std::unique_lock aGuard( m_aMutex );
 
         if( aAdvancements.getLength() != maText.Length )
         {
@@ -136,7 +133,7 @@ namespace cairocanvas
 
     geometry::RealRectangle2D SAL_CALL TextLayout::queryTextBounds(  )
     {
-        ::osl::MutexGuard aGuard( m_aMutex );
+        std::unique_lock aGuard( m_aMutex );
 
         OutputDevice* pOutDev = mpRefDevice->getOutputDevice();
         if( !pOutDev )
@@ -227,21 +224,21 @@ namespace cairocanvas
 
     sal_Int8 SAL_CALL TextLayout::getMainTextDirection(  )
     {
-        ::osl::MutexGuard aGuard( m_aMutex );
+        std::unique_lock aGuard( m_aMutex );
 
         return mnTextDirection;
     }
 
     uno::Reference< rendering::XCanvasFont > SAL_CALL TextLayout::getFont(  )
     {
-        ::osl::MutexGuard aGuard( m_aMutex );
+        std::unique_lock aGuard( m_aMutex );
 
         return mpFont;
     }
 
     rendering::StringContext SAL_CALL TextLayout::getText(  )
     {
-        ::osl::MutexGuard aGuard( m_aMutex );
+        std::unique_lock aGuard( m_aMutex );
 
         return maText;
     }
@@ -260,7 +257,7 @@ namespace cairocanvas
                            const rendering::ViewState&   viewState,
                            const rendering::RenderState& renderState ) const
     {
-        ::osl::MutexGuard aGuard( m_aMutex );
+        std::unique_lock aGuard( m_aMutex );
         setupLayoutMode( rOutDev, mnTextDirection );
 
         if (maLogicalAdvancements.hasElements())
diff --git a/canvas/source/cairo/cairo_textlayout.hxx 
b/canvas/source/cairo/cairo_textlayout.hxx
index bec692e75707..ad9f3466081a 100644
--- a/canvas/source/cairo/cairo_textlayout.hxx
+++ b/canvas/source/cairo/cairo_textlayout.hxx
@@ -19,8 +19,7 @@
 
 #pragma once
 
-#include <cppuhelper/compbase.hxx>
-#include <cppuhelper/basemutex.hxx>
+#include <comphelper/compbase.hxx>
 
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/rendering/RenderState.hpp>
@@ -36,11 +35,10 @@
 
 namespace cairocanvas
 {
-    typedef ::cppu::WeakComponentImplHelper< css::rendering::XTextLayout,
+    typedef ::comphelper::WeakComponentImplHelper< css::rendering::XTextLayout,
                                              css::lang::XServiceInfo > 
TextLayout_Base;
 
-    class TextLayout : public ::cppu::BaseMutex,
-                       public TextLayout_Base
+    class TextLayout : public TextLayout_Base
     {
     public:
         /// make noncopyable
@@ -54,7 +52,7 @@ namespace cairocanvas
                     SurfaceProviderRef                          rRefDevice );
 
         /// Dispose all internal references
-        virtual void SAL_CALL disposing() override;
+        virtual void disposing(std::unique_lock<std::mutex>& rGuard) override;
 
         // XTextLayout
         virtual css::uno::Sequence< css::uno::Reference< 
css::rendering::XPolyPolygon2D > > SAL_CALL queryTextShapes(  ) override;

Reply via email to