diff --git a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp index f139147157..3827cd3315 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp @@ -497,18 +497,24 @@ void GLGizmoFdmSupports::update_from_model_object() bool GLGizmoFdmSupports::has_backend_supports() { - const ModelObject* mo = m_c->selection_info()->model_object(); - if (! mo) { + const ModelObject *mo = m_c->selection_info()->model_object(); + if (!mo) { waiting_for_autogenerated_supports = false; return false; } // find PrintObject with this ID - for (const PrintObject* po : m_parent.fff_print()->objects()) { + bool done = false; + for (const PrintObject *po : m_parent.fff_print()->objects()) { if (po->model_object()->id() == mo->id()) - return po->is_step_done(posSupportSpotsSearch); + done = po->is_step_done(posSupportSpotsSearch); } - return false; + + if (!done && !wxGetApp().plater()->is_background_process_update_scheduled()) { + waiting_for_autogenerated_supports = false; + } + + return done; } void GLGizmoFdmSupports::reslice_FDM_supports(bool postpone_error_messages) const {