Преглед на файлове

_dest may be destructed twice if _dest is not null in MergeScenes()

wasd845 преди 4 години
родител
ревизия
4e9176d2cd
променени са 1 файла, в които са добавени 3 реда и са изтрити 2 реда
  1. 3 2
      code/Common/SceneCombiner.cpp

+ 3 - 2
code/Common/SceneCombiner.cpp

@@ -183,9 +183,10 @@ void SceneCombiner::MergeScenes(aiScene **_dest, std::vector<aiScene *> &src, un
             *_dest = src[0];
         return;
     }
-    if (*_dest)
+    if (*_dest) {
         (*_dest)->~aiScene();
-    else
+        new (*_dest) aiScene();
+    } else
         *_dest = new aiScene();
 
     // Create a dummy scene to serve as master for the others