diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index 078a64405c..c3abd15063 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -538,7 +538,7 @@ void Model::setVisibleInScene(bool newValue, std::shared_ptr<render::Scene> scen pendingChanges.resetItem(item, _modelMeshRenderItems[item]); } foreach (auto item, _collisionRenderItems.keys()) { - pendingChanges.resetItem(item, _modelMeshRenderItems[item]); + pendingChanges.resetItem(item, _collisionRenderItems[item]); } scene->enqueuePendingChanges(pendingChanges); } diff --git a/libraries/render/src/render/Scene.cpp b/libraries/render/src/render/Scene.cpp index 79f4b2a269..e091b4842c 100644 --- a/libraries/render/src/render/Scene.cpp +++ b/libraries/render/src/render/Scene.cpp @@ -16,8 +16,13 @@ using namespace render; void PendingChanges::resetItem(ItemID id, const PayloadPointer& payload) { - _resetItems.push_back(id); - _resetPayloads.push_back(payload); + if (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) {