mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-03 04:00:35 +08:00
Fix crash made on MMU printers
This commit is contained in:
parent
d24472675c
commit
d653cc6ab5
@ -315,7 +315,10 @@ RaycastManager::Meshes create_meshes(GLCanvas3D &canvas, const RaycastManager::A
|
|||||||
{
|
{
|
||||||
SceneRaycaster::EType type = SceneRaycaster::EType::Volume;
|
SceneRaycaster::EType type = SceneRaycaster::EType::Volume;
|
||||||
auto scene_casters = canvas.get_raycasters_for_picking(type);
|
auto scene_casters = canvas.get_raycasters_for_picking(type);
|
||||||
|
if (scene_casters == nullptr)
|
||||||
|
return {};
|
||||||
const std::vector<std::shared_ptr<SceneRaycasterItem>> &casters = *scene_casters;
|
const std::vector<std::shared_ptr<SceneRaycasterItem>> &casters = *scene_casters;
|
||||||
|
|
||||||
const GLVolumePtrs &gl_volumes = canvas.get_volumes().volumes;
|
const GLVolumePtrs &gl_volumes = canvas.get_volumes().volumes;
|
||||||
const ModelObjectPtrs &objects = canvas.get_model()->objects;
|
const ModelObjectPtrs &objects = canvas.get_model()->objects;
|
||||||
|
|
||||||
@ -328,7 +331,11 @@ RaycastManager::Meshes create_meshes(GLCanvas3D &canvas, const RaycastManager::A
|
|||||||
if(index_ >= gl_volumes.size())
|
if(index_ >= gl_volumes.size())
|
||||||
continue;
|
continue;
|
||||||
const GLVolume *gl_volume = gl_volumes[index_];
|
const GLVolume *gl_volume = gl_volumes[index_];
|
||||||
|
if (gl_volume == nullptr)
|
||||||
|
continue;
|
||||||
const ModelVolume *volume = get_model_volume(*gl_volume, objects);
|
const ModelVolume *volume = get_model_volume(*gl_volume, objects);
|
||||||
|
if (volume == nullptr)
|
||||||
|
continue;
|
||||||
size_t id = volume->id().id;
|
size_t id = volume->id().id;
|
||||||
if (condition.skip(id))
|
if (condition.skip(id))
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user