diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-04-17 15:13:54 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-04-19 14:17:24 +0000 |
commit | 82cb267d7b7d061dc9268a30dbeb035c31ffcfe3 (patch) | |
tree | f85b2fe02b702f0d4dd9e087116e639f8c18b4ae | |
parent | 58c680dac0af5e697b8199f45ded5383600ed174 (diff) | |
download | qt3d-82cb267d7b7d061dc9268a30dbeb035c31ffcfe3.tar.gz |
Fix valgrind issue in GeometryRenderer
Initialize member hasView, fixing:
==20448== Conditional jump or move depends on uninitialised value(s)
==20448== Uninitialised value was created by a heap allocation
==20448== at 0x484DE30: memalign (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==20448== by 0x484DF92: posix_memalign (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==20448== by 0x4DC9DEE: _mm_malloc (mm_malloc.h:45)
==20448== by 0x4DC9DEE: Qt3DCore::AlignedAllocator::allocate(unsigned int) (qresourcemanager.cpp:63)
==20448== by 0x4B45C7F: allocateBucket (qresourcemanager_p.h:265)
==20448== by 0x4B45C7F: allocateResource (qresourcemanager_p.h:202)
==20448== by 0x4B45C7F: getOrAcquireHandle (qresourcemanager_p.h:369)
==20448== by 0x4B45C7F: getOrCreateResource (qresourcemanager_p.h:396)
==20448== by 0x4B45C7F: Qt3DRender::Render::GeometryRendererFunctor::create(Qt3DCore::QNodeId) const (geometryrenderer.cpp:191)
Task-number: QTBUG-112914
Change-Id: I7e55a782c85cbbdd538eab0a775a5aaa0f6d4b4c
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 9a21c69f67110e84c01645564cecce7099600152)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/render/geometry/geometryrenderer.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/render/geometry/geometryrenderer.cpp b/src/render/geometry/geometryrenderer.cpp index 7ff05367f..d1f1c2993 100644 --- a/src/render/geometry/geometryrenderer.cpp +++ b/src/render/geometry/geometryrenderer.cpp @@ -32,6 +32,7 @@ GeometryRenderer::GeometryRenderer() , m_primitiveRestartEnabled(false) , m_primitiveType(QGeometryRenderer::Triangles) , m_dirty(false) + , m_hasView(false) , m_manager(nullptr) , m_sortIndex(-1.f) { @@ -55,7 +56,7 @@ void GeometryRenderer::cleanup() m_primitiveRestartEnabled = false; m_primitiveType = QGeometryRenderer::Triangles; m_geometryId = Qt3DCore::QNodeId(); - m_dirty = false; + m_hasView = m_dirty = false; m_geometryFactory.reset(); m_sortIndex = -1.f; } |