From 4dc40659044566280c202e26cab97d682ae6ab54 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Tue, 17 Aug 2021 11:38:31 +0200 Subject: rtl::Static -> thread-safe static local Change-Id: I9f8fe250813f4f376dc46c6f3d7e25e90fdbb50e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120566 Tested-by: Jenkins Reviewed-by: Noel Grandin --- canvas/source/cairo/cairo_canvashelper.cxx | 21 +++++++-------------- canvas/source/cairo/cairo_devicehelper.cxx | 15 ++------------- 2 files changed, 9 insertions(+), 27 deletions(-) (limited to 'canvas/source/cairo') diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx index 7805da9bb56d..32124af830f9 100644 --- a/canvas/source/cairo/cairo_canvashelper.cxx +++ b/canvas/source/cairo/cairo_canvashelper.cxx @@ -41,7 +41,6 @@ #include #include #include -#include #include #include #include @@ -1973,22 +1972,16 @@ constexpr OUStringLiteral PARAMETRICPOLYPOLYGON_IMPLEMENTATION_NAME = u"Canvas:: } }; - struct CairoNoAlphaColorSpaceHolder : public rtl::StaticWithInit, - CairoNoAlphaColorSpaceHolder> + uno::Reference& GetCairoNoAlphaColorSpace() { - uno::Reference operator()() - { - return new CairoNoAlphaColorSpace(); - } + static uno::Reference SPACE = new CairoNoAlphaColorSpace(); + return SPACE; }; - struct CairoColorSpaceHolder : public rtl::StaticWithInit, - CairoColorSpaceHolder> + uno::Reference& GetCairoColorSpace() { - uno::Reference operator()() - { - return new CairoColorSpace(); - } + static uno::Reference SPACE = new CairoColorSpace(); + return SPACE; }; } @@ -2012,7 +2005,7 @@ constexpr OUStringLiteral PARAMETRICPOLYPOLYGON_IMPLEMENTATION_NAME = u"Canvas:: aLayout.ScanLineBytes = nWidth*4; aLayout.ScanLineStride = aLayout.ScanLineBytes; aLayout.PlaneStride = 0; - aLayout.ColorSpace = mbHaveAlpha ? CairoColorSpaceHolder::get() : CairoNoAlphaColorSpaceHolder::get(); + aLayout.ColorSpace = mbHaveAlpha ? GetCairoColorSpace() : GetCairoNoAlphaColorSpace(); aLayout.Palette.clear(); aLayout.IsMsbFirst = false; diff --git a/canvas/source/cairo/cairo_devicehelper.cxx b/canvas/source/cairo/cairo_devicehelper.cxx index e802e79cc2dd..1c44b4225560 100644 --- a/canvas/source/cairo/cairo_devicehelper.cxx +++ b/canvas/source/cairo/cairo_devicehelper.cxx @@ -210,22 +210,11 @@ namespace cairocanvas return uno::Any(); } - namespace - { - struct DeviceColorSpace: public rtl::StaticWithInit, - DeviceColorSpace> - { - uno::Reference operator()() - { - return vcl::unotools::createStandardColorSpace(); - } - }; - } - uno::Reference const & DeviceHelper::getColorSpace() const { + static uno::Reference SPACE = vcl::unotools::createStandardColorSpace(); // always the same - return DeviceColorSpace::get(); + return SPACE; } void DeviceHelper::dumpScreenContent() const -- cgit