Fix crash when pressing Ctrl+A while a gizmo is open (#8416):

There were two separate issues. Missing update when select_all was invoked in
the scene and missing check when SLA supports/hollow gizmo were asked to select
all points/holes.
This commit is contained in:
Lukas Matena 2022-06-22 10:58:41 +02:00
parent 388126b26e
commit a96eaf5426
3 changed files with 6 additions and 2 deletions

View File

@ -1576,6 +1576,10 @@ void GLCanvas3D::select_all()
{
m_selection.add_all();
m_dirty = true;
wxGetApp().obj_manipul()->set_dirty();
m_gizmos.reset_all_states();
m_gizmos.update_data();
post_event(SimpleEvent(EVT_GLCANVAS_OBJECT_SELECT));
}
void GLCanvas3D::deselect_all()

View File

@ -847,7 +847,7 @@ void GLGizmoHollow::select_point(int i)
m_selected.assign(m_selected.size(), i == AllPoints);
m_selection_empty = (i == NoPoints);
if (i == AllPoints) {
if (i == AllPoints && ! drain_holes.empty()) {
m_new_hole_radius = drain_holes[0].radius;
m_new_hole_height = drain_holes[0].height;
}

View File

@ -998,7 +998,7 @@ void GLGizmoSlaSupports::select_point(int i)
point_and_selection.selected = ( i == AllPoints );
m_selection_empty = (i == NoPoints);
if (i == AllPoints)
if (i == AllPoints && ! m_editing_cache.empty())
m_new_point_head_diameter = m_editing_cache[0].support_point.head_front_radius * 2.f;
}
else {