Merge pull request #1132 from daleglass/fix_renderablemodelentityitem_crash

Capture by value rather than by reference in RenderableModelEntityItem
This commit is contained in:
Kalila 2021-04-01 17:32:00 -04:00 committed by GitHub
commit 4ae4886f36
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1254,13 +1254,13 @@ void ModelEntityRenderer::doRenderUpdateAsynchronousTyped(const TypedEntityPoint
if (_hasModel && !model) {
model = std::make_shared<Model>(nullptr, entity.get(), _created);
connect(model.get(), &Model::requestRenderUpdate, this, &ModelEntityRenderer::requestRenderUpdate);
connect(model.get(), &Model::setURLFinished, this, [&](bool didVisualGeometryRequestSucceed) {
connect(model.get(), &Model::setURLFinished, this, [=](bool didVisualGeometryRequestSucceed) {
_didLastVisualGeometryRequestSucceed = didVisualGeometryRequestSucceed;
const render::ScenePointer& scene = AbstractViewStateInterface::instance()->getMain3DScene();
render::Transaction transaction;
transaction.updateItem<PayloadProxyInterface>(_renderItemID, [&](PayloadProxyInterface& self) {
transaction.updateItem<PayloadProxyInterface>(_renderItemID, [=](PayloadProxyInterface& self) {
const render::ScenePointer& scene = AbstractViewStateInterface::instance()->getMain3DScene();
withWriteLock([&] {
withWriteLock([=] {
setKey(didVisualGeometryRequestSucceed, _model);
_model->setVisibleInScene(_visible, scene);
_model->setCauterized(_cauterized, scene);