mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-10 08:17:51 -06:00
Rewrite bed raycaster registering that fixes crash when creating new project
This commit is contained in:
parent
7984b4dc48
commit
ee8ea0df04
3 changed files with 23 additions and 32 deletions
|
@ -2672,6 +2672,7 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re
|
|||
m_selection.volumes_changed(map_glvolume_old_to_new);
|
||||
|
||||
// @Enrico suggest this solution to preven accessing pointer on caster without data
|
||||
m_scene_raycaster.remove_raycasters(SceneRaycaster::EType::Bed);
|
||||
m_scene_raycaster.remove_raycasters(SceneRaycaster::EType::Volume);
|
||||
m_gizmos.update_data();
|
||||
m_gizmos.update_assemble_view_data();
|
||||
|
@ -2725,6 +2726,11 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re
|
|||
#endif
|
||||
}
|
||||
|
||||
// refresh bed raycasters for picking
|
||||
if (m_canvas_type == ECanvasType::CanvasView3D) {
|
||||
wxGetApp().plater()->get_partplate_list().register_raycasters_for_picking(*this);
|
||||
}
|
||||
|
||||
// refresh volume raycasters for picking
|
||||
for (size_t i = 0; i < m_volumes.volumes.size(); ++i) {
|
||||
const GLVolume* v = m_volumes.volumes[i];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue