From 30f259f79cdc6c6c400e394df81e8ba249e2e29e Mon Sep 17 00:00:00 2001 From: YuSanka <yusanka@gmail.com> Date: Thu, 12 Dec 2019 13:49:12 +0100 Subject: [PATCH] Fixed a bug (OSX specific) caused a crash on undo after Copy/Past several objects --- src/slic3r/GUI/GUI_ObjectList.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 010c24005..7e5353718 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -3953,8 +3953,15 @@ void ObjectList::update_after_undo_redo() Plater::SuppressSnapshots suppress(wxGetApp().plater()); // Unselect all objects before deleting them, so that no change of selection is emitted during deletion. - unselect_objects();//this->UnselectAll(); + + /* To avoid execution of selection_changed() + * from wxEVT_DATAVIEW_SELECTION_CHANGED emitted from DeleteAll(), + * wrap this two functions into m_prevent_list_events * + * */ + m_prevent_list_events = true; + this->UnselectAll(); m_objects_model->DeleteAll(); + m_prevent_list_events = false; size_t obj_idx = 0; std::vector<size_t> obj_idxs;