summaryrefslogtreecommitdiffstats
path: root/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'drawinglayer/source/primitive2d/sceneprimitive2d.cxx')
-rw-r--r--drawinglayer/source/primitive2d/sceneprimitive2d.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
index cde119d514ba..870d187b222c 100644
--- a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
@@ -128,8 +128,6 @@ namespace drawinglayer::primitive2d
{
bool ScenePrimitive2D::impGetShadow3D() const
{
- std::unique_lock aGuard( m_aMutex );
-
// create on demand
if(!mbShadow3DChecked && !getChildren3D().empty())
{
@@ -511,6 +509,8 @@ namespace drawinglayer::primitive2d
Primitive2DContainer ScenePrimitive2D::getShadow2D() const
{
+ std::unique_lock aGuard( m_aMutex );
+
Primitive2DContainer aRetval;
// create 2D shadows from contained 3D primitives
@@ -681,6 +681,7 @@ namespace drawinglayer::primitive2d
}
// use parent implementation
+ aGuard.unlock();
BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}