From d25f54485ce21d5037fbc8e96354a89947e66d6a Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Fri, 22 Jan 2016 22:01:30 -0800 Subject: [PATCH] fix crash for emtpy modelUrl in ModelEntityItem --- .../src/RenderableModelEntityItem.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp index 72dc79b882..a788a76905 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp @@ -480,12 +480,17 @@ Model* RenderableModelEntityItem::getModel(EntityTreeRenderer* renderer) { } else { // we already have the model we want... result = _model; } - } else { // if our desired URL is empty, we may need to delete our existing model - if (_model) { - _myRenderer->releaseModel(_model); - result = _model = NULL; - _needsInitialSimulation = true; - } + } else if (_model) { + // remove from scene + render::ScenePointer scene = AbstractViewStateInterface::instance()->getMain3DScene(); + render::PendingChanges pendingChanges; + _model->removeFromScene(scene, pendingChanges); + scene->enqueuePendingChanges(pendingChanges); + + // release interest + _myRenderer->releaseModel(_model); + result = _model = NULL; + _needsInitialSimulation = true; } return result;