From f1f68cfd85d4bee7e0f2248965ef342f673f6649 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 6 Mar 2019 09:28:55 +0100 Subject: [PATCH] Fixed a crash after a printer preset changing with selected setting's item in an object list --- src/slic3r/GUI/GUI_ObjectList.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index a961c9ffa2..44998c14f2 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -2147,7 +2147,15 @@ void ObjectList::update_settings_items() for (auto& item : items) { const wxDataViewItem& settings_item = m_objects_model->GetSettingsItem(item); select_item(settings_item ? settings_item : m_objects_model->AddSettingsChild(item)); + + // If settings item was deleted from the list, + // it's need to be deleted from selection array, if it was there + if (settings_item != m_objects_model->GetSettingsItem(item) && + sel.Index(settings_item) != wxNOT_FOUND) { + sel.Remove(settings_item); + } } + // restore selection: SetSelections(sel); m_prevent_canvas_selection_update = false;