diff options
-rw-r--r-- | basegfx/source/polygon/b2dpolypolygon.cxx | 2 | ||||
-rw-r--r-- | basegfx/source/tools/unopolypolygon.cxx | 7 | ||||
-rw-r--r-- | include/basegfx/polygon/b2dpolypolygon.hxx | 2 |
3 files changed, 3 insertions, 8 deletions
diff --git a/basegfx/source/polygon/b2dpolypolygon.cxx b/basegfx/source/polygon/b2dpolypolygon.cxx index a283828f661c..ad24ffa0b87c 100644 --- a/basegfx/source/polygon/b2dpolypolygon.cxx +++ b/basegfx/source/polygon/b2dpolypolygon.cxx @@ -205,7 +205,7 @@ public: } }; - static o3tl::cow_wrapper<ImplB2DPolyPolygon> DEFAULT; + static o3tl::cow_wrapper<ImplB2DPolyPolygon, o3tl::ThreadSafeRefCountingPolicy> DEFAULT; B2DPolyPolygon::B2DPolyPolygon() : mpPolyPolygon(DEFAULT) {} diff --git a/basegfx/source/tools/unopolypolygon.cxx b/basegfx/source/tools/unopolypolygon.cxx index 76341e6ea532..0c3b59abac9b 100644 --- a/basegfx/source/tools/unopolypolygon.cxx +++ b/basegfx/source/tools/unopolypolygon.cxx @@ -38,8 +38,6 @@ namespace basegfx::unotools maPolyPoly(std::move( aPolyPoly )), meFillRule( rendering::FillRule_EVEN_ODD ) { - // or else races will haunt us. - maPolyPoly.makeUnique(); } void SAL_CALL UnoPolyPolygon::addPolyPolygon( @@ -440,10 +438,7 @@ namespace basegfx::unotools { std::unique_lock const guard( m_aMutex ); - // detach result from us - B2DPolyPolygon aRet( maPolyPoly ); - aRet.makeUnique(); - return aRet; + return maPolyPoly; } } diff --git a/include/basegfx/polygon/b2dpolypolygon.hxx b/include/basegfx/polygon/b2dpolypolygon.hxx index 474c0cbdb40f..68f1b0d6a619 100644 --- a/include/basegfx/polygon/b2dpolypolygon.hxx +++ b/include/basegfx/polygon/b2dpolypolygon.hxx @@ -36,7 +36,7 @@ namespace basegfx class BASEGFX_DLLPUBLIC B2DPolyPolygon { private: - o3tl::cow_wrapper<ImplB2DPolyPolygon> mpPolyPolygon; + o3tl::cow_wrapper<ImplB2DPolyPolygon, o3tl::ThreadSafeRefCountingPolicy> mpPolyPolygon; public: B2DPolyPolygon(); |