FIX:array bound in delete_wipe_tower

jira: STUDIO-8638
Change-Id: Ic7b4c3a6325501483ecd9f18925504752b7ad32d
This commit is contained in:
zhou.xu 2024-11-06 11:33:48 +08:00 committed by Lane.Wei
parent c41eb65781
commit a31a9d541e
1 changed files with 9 additions and 7 deletions

View File

@ -3270,13 +3270,15 @@ void GUI::GCodeViewer::set_shells_on_preview(bool is_previewing) {
void GUI::GCodeViewer::delete_wipe_tower()
{
size_t current_volumes_count = m_shells.volumes.volumes.size();
for (size_t i = current_volumes_count - 1; i > 0; i--) {
GLVolume *v = m_shells.volumes.volumes[i];
if (v->is_wipe_tower) {
m_shells.volumes.release_volume(v);
delete v;
m_shells.volumes.volumes.erase(m_shells.volumes.volumes.begin() + i);
break;
if (current_volumes_count >= 1) {
for (size_t i = current_volumes_count - 1; i > 0; i--) {
GLVolume *v = m_shells.volumes.volumes[i];
if (v->is_wipe_tower) {
m_shells.volumes.release_volume(v);
delete v;
m_shells.volumes.volumes.erase(m_shells.volumes.volumes.begin() + i);
break;
}
}
}
}