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;