From be375cdfb66ab5dba07ede25b5e709ff85708987 Mon Sep 17 00:00:00 2001 From: Lars Mueller Date: Wed, 22 May 2024 15:56:21 +0200 Subject: [PATCH] Do not stack-allocate SSkinMeshBuffer --- irr/include/ISkinnedMesh.h | 2 +- irr/src/CGLTFMeshFileLoader.cpp | 2 +- irr/src/CSkinnedMesh.cpp | 4 ++-- irr/src/CSkinnedMesh.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/irr/include/ISkinnedMesh.h b/irr/include/ISkinnedMesh.h index 96f5f8815..bb611bba2 100644 --- a/irr/include/ISkinnedMesh.h +++ b/irr/include/ISkinnedMesh.h @@ -200,7 +200,7 @@ class ISkinnedMesh : public IAnimatedMesh virtual SSkinMeshBuffer *addMeshBuffer() = 0; //! Adds a new meshbuffer to the mesh, access it as last one - virtual void addMeshBuffer(SSkinMeshBuffer &&meshbuf) = 0; + virtual void addMeshBuffer(SSkinMeshBuffer *meshbuf) = 0; //! Adds a new joint to the mesh, access it as last one virtual SJoint *addJoint(SJoint *parent = 0) = 0; diff --git a/irr/src/CGLTFMeshFileLoader.cpp b/irr/src/CGLTFMeshFileLoader.cpp index 45624ab02..577a9d23d 100644 --- a/irr/src/CGLTFMeshFileLoader.cpp +++ b/irr/src/CGLTFMeshFileLoader.cpp @@ -428,7 +428,7 @@ void SelfType::MeshExtractor::loadMesh( } m_irr_model->addMeshBuffer( - SSkinMeshBuffer(std::move(*vertices), std::move(indices))); + new SSkinMeshBuffer(std::move(*vertices), std::move(indices))); } } diff --git a/irr/src/CSkinnedMesh.cpp b/irr/src/CSkinnedMesh.cpp index 45f29c185..11773ad41 100644 --- a/irr/src/CSkinnedMesh.cpp +++ b/irr/src/CSkinnedMesh.cpp @@ -1062,9 +1062,9 @@ scene::SSkinMeshBuffer *CSkinnedMesh::addMeshBuffer() return buffer; } -void CSkinnedMesh::addMeshBuffer(SSkinMeshBuffer &&meshbuf) +void CSkinnedMesh::addMeshBuffer(SSkinMeshBuffer *meshbuf) { - LocalBuffers.push_back(new SSkinMeshBuffer(std::move(meshbuf))); + LocalBuffers.push_back(meshbuf); } CSkinnedMesh::SJoint *CSkinnedMesh::addJoint(SJoint *parent) diff --git a/irr/src/CSkinnedMesh.h b/irr/src/CSkinnedMesh.h index 9ce666c46..0dc26ec03 100644 --- a/irr/src/CSkinnedMesh.h +++ b/irr/src/CSkinnedMesh.h @@ -130,7 +130,7 @@ class CSkinnedMesh : public ISkinnedMesh SSkinMeshBuffer *addMeshBuffer() override; //! Adds a new meshbuffer to the mesh, access it as last one - void addMeshBuffer(SSkinMeshBuffer &&meshbuf) override; + void addMeshBuffer(SSkinMeshBuffer *meshbuf) override; //! Adds a new joint to the mesh, access it as last one SJoint *addJoint(SJoint *parent = 0) override;