mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-20 20:03:47 +00:00
FIX: linux: pressing enter in height range will crash
jira: STUDIO-4391 Change-Id: I6bf990951d1456f5b2605b8d62a05bceb3cc4c10
This commit is contained in:
@@ -215,6 +215,11 @@ void ObjectLayers::update_layers_list()
|
|||||||
m_object = objects_ctrl->object(obj_idx);
|
m_object = objects_ctrl->object(obj_idx);
|
||||||
if (!m_object || m_object->layer_config_ranges.empty()) return;
|
if (!m_object || m_object->layer_config_ranges.empty()) return;
|
||||||
|
|
||||||
|
auto range = objects_ctrl->GetModel()->GetLayerRangeByItem(item);
|
||||||
|
|
||||||
|
// only call sizer->Clear(true) via CallAfter, otherwise crash happens in Linux when press enter in Height Range
|
||||||
|
// because an element cannot be destroyed while there are pending events for this element.(https://github.com/wxWidgets/Phoenix/issues/1854)
|
||||||
|
wxGetApp().CallAfter([this, type, objects_ctrl, range]() {
|
||||||
// Delete all controls from options group
|
// Delete all controls from options group
|
||||||
m_grid_sizer->Clear(true);
|
m_grid_sizer->Clear(true);
|
||||||
|
|
||||||
@@ -223,9 +228,10 @@ void ObjectLayers::update_layers_list()
|
|||||||
if (type & itLayerRoot)
|
if (type & itLayerRoot)
|
||||||
create_layers_list();
|
create_layers_list();
|
||||||
else
|
else
|
||||||
create_layer(objects_ctrl->GetModel()->GetLayerRangeByItem(item), nullptr, nullptr);
|
create_layer(range, nullptr, nullptr);
|
||||||
|
|
||||||
m_parent->Layout();
|
m_parent->Layout();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjectLayers::update_scene_from_editor_selection() const
|
void ObjectLayers::update_scene_from_editor_selection() const
|
||||||
|
|||||||
Reference in New Issue
Block a user