drawinglayer/source/primitive2d/BufferedDecompositionGroupPrimitive2D.cxx | 2 ++ drawinglayer/source/primitive2d/BufferedDecompositionPrimitive2D.cxx | 2 ++ 2 files changed, 4 insertions(+)
New commits: commit e81f4656225cd474086340481a4505e3e932f8e6 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Mon Feb 19 10:59:03 2024 +0000 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Mon Feb 19 13:18:00 2024 +0100 crashtesting: bump refcount during setBuffered2DDecomposition otherwise if another thread drops the refcounf to 0 while setBuffered2DDecomposition is in flight the object goes away underneath us. Change-Id: I65d458306bee0c4f2e80fd2925d22cf121920fc9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163591 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/drawinglayer/source/primitive2d/BufferedDecompositionGroupPrimitive2D.cxx b/drawinglayer/source/primitive2d/BufferedDecompositionGroupPrimitive2D.cxx index a24816ad5f3a..4a09d0490ce9 100644 --- a/drawinglayer/source/primitive2d/BufferedDecompositionGroupPrimitive2D.cxx +++ b/drawinglayer/source/primitive2d/BufferedDecompositionGroupPrimitive2D.cxx @@ -53,7 +53,9 @@ namespace drawinglayer::primitive2d { void flushBufferedDecomposition(BufferedDecompositionGroupPrimitive2D& rTarget) { + rTarget.acquire(); rTarget.setBuffered2DDecomposition(Primitive2DContainer()); + rTarget.release(); } const Primitive2DContainer& diff --git a/drawinglayer/source/primitive2d/BufferedDecompositionPrimitive2D.cxx b/drawinglayer/source/primitive2d/BufferedDecompositionPrimitive2D.cxx index 61eb34251913..ba8a4606cc83 100644 --- a/drawinglayer/source/primitive2d/BufferedDecompositionPrimitive2D.cxx +++ b/drawinglayer/source/primitive2d/BufferedDecompositionPrimitive2D.cxx @@ -53,7 +53,9 @@ namespace drawinglayer::primitive2d { void flushBufferedDecomposition(BufferedDecompositionPrimitive2D& rTarget) { + rTarget.acquire(); rTarget.setBuffered2DDecomposition(nullptr); + rTarget.release(); } const Primitive2DReference& BufferedDecompositionPrimitive2D::getBuffered2DDecomposition() const