From 8664656818fd5b5febede5ff96cfef5b544d757d Mon Sep 17 00:00:00 2001 From: Jose Luis Blanco-Claraco Date: Sun, 8 Sep 2024 11:01:50 +0200 Subject: [PATCH] BUGFIX: avoid recursive deadlock --- doc/source/doxygen-docs/changelog.md | 3 ++- libs/opengl/include/mrpt/opengl/CPointCloud.h | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/source/doxygen-docs/changelog.md b/doc/source/doxygen-docs/changelog.md index 1014c8660a..d6c2b516e2 100644 --- a/doc/source/doxygen-docs/changelog.md +++ b/doc/source/doxygen-docs/changelog.md @@ -1,7 +1,8 @@ \page changelog Change Log # Version 2.13.9: UNRELEASED -(none yet) +- BUG FIXES: + - Fix recursive mutex lock if calling mrpt::opengl::CPointCloud::insertPoint() with signatures for mrpt::math::TPoint3D. # Version 2.13.8: Released Sep 7th, 2024 - Changes in libraries: diff --git a/libs/opengl/include/mrpt/opengl/CPointCloud.h b/libs/opengl/include/mrpt/opengl/CPointCloud.h index 9ff10574dd..bf19b9bdb2 100644 --- a/libs/opengl/include/mrpt/opengl/CPointCloud.h +++ b/libs/opengl/include/mrpt/opengl/CPointCloud.h @@ -195,12 +195,12 @@ class CPointCloud : void insertPoint(const mrpt::math::TPoint3Df& p) { - std::unique_lock wfWriteLock(CRenderizableShaderPoints::m_pointsMtx.data); + // lock already hold by insertPoint() below insertPoint(p.x, p.y, p.z); } void insertPoint(const mrpt::math::TPoint3D& p) { - std::unique_lock wfWriteLock(CRenderizableShaderPoints::m_pointsMtx.data); + // lock already hold by insertPoint() below insertPoint(p.x, p.y, p.z); }