From e47b049200c6679fb266a99777f229d77796611a Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Mon, 9 Nov 2015 16:41:40 -0800 Subject: [PATCH 1/2] fix render item leak on Model::reset() --- libraries/render-utils/src/Model.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index 6aae7ad1cb..2cb380a8e2 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -135,9 +135,6 @@ void Model::reset() { const FBXGeometry& geometry = _geometry->getFBXGeometry(); _rig->reset(geometry.joints); } - _meshGroupsKnown = false; - _readyWhenAdded = false; // in case any of our users are using scenes - invalidCalculatedMeshBoxes(); // if we have to reload, we need to assume our mesh boxes are all invalid } bool Model::updateGeometry() { From 021a6e689d92c26a4d2a84c6f0426bc592d8b4e7 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Mon, 9 Nov 2015 17:09:17 -0800 Subject: [PATCH 2/2] added some asserts to test future mistakes that would cause render item leaks --- libraries/render-utils/src/Model.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index 2cb380a8e2..5b9bfdca3d 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -1153,6 +1153,9 @@ void Model::segregateMeshGroups() { return; } + Q_ASSERT(_renderItems.isEmpty()); // We should not have any existing renderItems if we enter this section of code + Q_ASSERT(_renderItemsSet.isEmpty()); // We should not have any existing renderItemsSet if we enter this section of code + _renderItemsSet.clear(); // Run through all of the meshes, and place them into their segregated, but unsorted buckets