Merge pull request #7516 from hyperlogic/tony/show-collision-geometry-crash-fix

Model: fix for crash when displaying collision mesh
This commit is contained in:
Anthony Thibault 2016-03-30 16:48:07 -07:00
commit 26b9469df5
2 changed files with 8 additions and 3 deletions

View file

@ -538,7 +538,7 @@ void Model::setVisibleInScene(bool newValue, std::shared_ptr<render::Scene> scen
pendingChanges.resetItem(item, _modelMeshRenderItems[item]); pendingChanges.resetItem(item, _modelMeshRenderItems[item]);
} }
foreach (auto item, _collisionRenderItems.keys()) { foreach (auto item, _collisionRenderItems.keys()) {
pendingChanges.resetItem(item, _modelMeshRenderItems[item]); pendingChanges.resetItem(item, _collisionRenderItems[item]);
} }
scene->enqueuePendingChanges(pendingChanges); scene->enqueuePendingChanges(pendingChanges);
} }

View file

@ -16,8 +16,13 @@
using namespace render; using namespace render;
void PendingChanges::resetItem(ItemID id, const PayloadPointer& payload) { void PendingChanges::resetItem(ItemID id, const PayloadPointer& payload) {
_resetItems.push_back(id); if (payload) {
_resetPayloads.push_back(payload); _resetItems.push_back(id);
_resetPayloads.push_back(payload);
} else {
qDebug() << "WARNING: PendingChanges::resetItem with a null payload!";
removeItem(id);
}
} }
void PendingChanges::removeItem(ItemID id) { void PendingChanges::removeItem(ItemID id) {