diff --git a/code/Common/SceneCombiner.cpp b/code/Common/SceneCombiner.cpp index 4d799f53f..4884383c1 100644 --- a/code/Common/SceneCombiner.cpp +++ b/code/Common/SceneCombiner.cpp @@ -250,8 +250,8 @@ void SceneCombiner::AttachToGraph(aiScene *master, std::vector &srcList, unsigned int flags) { - std::unique_ptr masterAutoPtr(master); +void SceneCombiner::MergeScenes(aiScene **_dest, aiScene *master_raw, std::vector &srcList, unsigned int flags) { + std::unique_ptr master(master_raw); if (nullptr == _dest) { return; } @@ -259,9 +259,9 @@ void SceneCombiner::MergeScenes(aiScene **_dest, aiScene *master, std::vector src(srcList.size() + 1); - src[0].scene = masterAutoPtr.release(); + src[0].scene = master.release(); for (unsigned int i = 0; i < srcList.size(); ++i) { src[i + 1] = SceneHelper(srcList[i].scene); } @@ -609,7 +609,7 @@ void SceneCombiner::MergeScenes(aiScene **_dest, aiScene *master, std::vectormRootNode = master->mRootNode; // Check whether we succeeded at building the output graph diff --git a/include/assimp/SceneCombiner.h b/include/assimp/SceneCombiner.h index ff92af18c..d6096900c 100644 --- a/include/assimp/SceneCombiner.h +++ b/include/assimp/SceneCombiner.h @@ -223,7 +223,7 @@ public: * deletes the input scenes afterwards. There may be duplicate scenes. * @param flags Combination of the AI_INT_MERGE_SCENE flags defined above */ - static void MergeScenes(aiScene **dest, std::unique_ptr& master, + static void MergeScenes(aiScene **dest, aiScene *master, std::vector &src, unsigned int flags = 0);