From 9d3470017904cf3bb1503712ee9919c929c16ae2 Mon Sep 17 00:00:00 2001 From: Beq Date: Fri, 10 Feb 2023 02:55:19 +0000 Subject: [PATCH] experimental workaround to non-rigged to rigged transition bug --- indra/newview/vjlocalmesh.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/indra/newview/vjlocalmesh.cpp b/indra/newview/vjlocalmesh.cpp index 8351366077..656525e0ab 100644 --- a/indra/newview/vjlocalmesh.cpp +++ b/indra/newview/vjlocalmesh.cpp @@ -778,9 +778,18 @@ void LLLocalMeshFile::applyToVObject(LLUUID viewer_object_id, int object_index, // force refresh (selected/edit mode won't let it redraw otherwise) auto& target_drawable = target_object->mDrawable; - target_drawable->getVOVolume()->forceLOD(LLModel::LOD_LOW); - target_drawable->getVOVolume()->forceLOD(LLModel::LOD_HIGH); - gPipeline.markRebuild(target_drawable, LLDrawable::REBUILD_VOLUME, FALSE); + + if( target_drawable.notNull() ) + { + target_object->markForUpdate(true); + // target_drawable->updateSpatialExtents(); + // target_drawable->movePartition(); + gPipeline.markRebuild(target_drawable, LLDrawable::REBUILD_ALL, true); + if(auto floater_ptr = LLLocalMeshSystem::getInstance()->getFloaterPointer(); floater_ptr != nullptr) + { + floater_ptr->toggleSelectTool(false); + } + } // NOTE: this ^^ (or lod change) causes renderer crash on mesh with degenerate primitives. LL_INFOS("LocalMesh") << "Object " << object_index << " marked for rebuild" << LL_ENDL; }